Java Web-JSP

羅羅~發表於2020-10-14

由第一個JSP提交所填寫的資料,第二個JSP接收資料並顯示出來。簡單的登入介面。

第一個JSP:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%//接收由第二個JSP返回來的資料和錯誤
    String name=(String)request.getAttribute("name");
    String error1=(String)request.getAttribute("error1");
    String error2=(String)request.getAttribute("error2");
 %>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <form action="jsp2.jsp">
            姓名:<input type="text" name="n"<%if(name!=null){%>value="<%=name%>"<%}%>/><% 		if(error1!= null){out.println(error1);}%><br>//顯示錯誤
            密碼:<input type="password" name="p"/><% if(error2!= null){out.println(error2);}%><br>
             <input type="submit" value="提交"/>
             <input type="reset" />
        </form>
    </body>
</html>

第二個JSP:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>

<%
    String a1=request.getParameter("n");//接收從一傳過來的資料
    String a2=request.getParameter("p");
    
    String error1="";
    String error2="";
    if(a1.equals("")||a1==null)//判斷是否填寫了名字,沒有填寫則提示錯誤
        error1="請輸入姓名";
    else if(a2.equals("")||a2==null)//
        error2="密碼未輸入,請輸入密碼";
    
    if(error1.equals("")&&error2.equals("")){
   %>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>你填寫的資料為:</h1>
        姓名:<%=request.getParameter("n")%><br>
        性別:<%=request.getParameter("p")%><br>
    </body>
</html>
<%}
else{//當沒有填寫名字或密碼時,把提示錯誤返回到登入介面,由使用者填寫的名字保留
    request.setAttribute("name", a1);
    request.setAttribute("error1", error1);
    request.setAttribute("error2", error2);
    request.getRequestDispatcher("jsp1.jsp").forward(request,response);
}
    %>

相關文章