jsp实验3.(1)(2)表单内容的提交和获取

来源:互联网 发布:韩雪网络直播视频 编辑:程序博客网 时间:2024/05/18 19:38

【实验环境】

安装tomcatJDKmysql。把commons-fileupload-1.2.1.jar和commons-io-1.4.jar拷贝至tomcat目录的lib子目录下(C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib)

1、编制如下网页(register1.jsp),点击保存后提交给另一个页面(register2.jsp),其中的id是隐藏input元素的名。

<%@ page language="java" import="java.util.*"contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE HTML><html><head><title>postInput</title><script>function disapear(Obj){var txt1=document.getElementById(Obj.id);if (txt1.value=="张三"){txt1.value="";txt1.focus();}}</script></head><body><form action="register2.jsp?user=wang" method="post"><input type="hidden" name="stuid" value="1400001" />同学名: <input type="text" id="txt1" name="name" value="张三" onfocus="disapear(this)"/><br><br>密码:<input type="password" name="password" /><br>校区: 北校区<input type="radio" name="campus" value="north"/>                               南校区<input type="radio" name="campus" value="south"/>                                东校区<input type="radio" name="campus" value="east"/>深圳校区<input type="radio" name="campus" value="shenzhen"/>                                珠海校区<input type="radio" name="campus" value="zhuhai"/><br>年级:<select name="grade">    <option value="freshman">大一</option>    <option value="sophomore">大二</option><option value="junior">大三</option><option value="senior">大四</option>  </select><br>           社团 :舞蹈队<input type="checkbox" name="club" value="dance"/>               摄影<input type="checkbox" name="club" value="photo"/>               篮球<input type="checkbox" name="club" value="basketball"/><br>        <table><tr><td valign="top">说明:    </td><td><textarea rows="5" cols="30" name="explain" >我学过Web程序设计</textarea></td></tr></table>        <input type="submit" name="submit1" value="保存" />        <input type="submit" name="submit2" value="退出" /><br></form></body></html>
其中javascript的函数是在输入框获得获得焦点时,将其默认值删除掉。

点击保存按钮之后,表单内容会提交给register2.jsp,通过request对象获得表单的提交内容。

register.jsp完整代码如下:

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%><%request.setCharacterEncoding("utf-8");%><!DOCTYPE HTML><html><head> <title>postShow</title></head><body>ID: <%= request.getParameter("stuid") %><br>  同学名: <%= request.getParameter("name") %><br>  密码: <%= request.getParameter("password") %><br>校区: <%= request.getParameter("campus") %><br>是否有舞蹈社团: <%= request.getParameter("dance") %><br>社团:<% out.print("[");String[] values=null;if(request.getMethod().equalsIgnoreCase("post")){values = request.getParameterValues("club");}if(values != null) out.print(values[0]);for(int i = 1; i < values.length ; i++)out.print("," + values[i]);out.println("]");            %><br>年级: <%= request.getParameter("grade") %><br>说明: <%= request.getParameter("explain") %><br>method(表单的提交方法): <%= request.getMethod() %><br>submit1(保存):<%= request.getParameter("submit1") %><br>submit2(退出):<%= request.getParameter("submit2") %><br></body></html>

2(register3.jsp)修改上题的功能,要求按保存按钮时提交给自己。每次按保存后都在现有的同学名和说明的输入内容后面加上一个星号*,其它内容不变。

   Java字符串参考:

1equalsJava比较字符串是否相等

2Arrays.toString(array)可以把数组变为字符串

3str.indexOf(sub1)>=0用于判断是否为子串

4s1.equals(s2)?"1":""为一个三元表达式(s1s2的内容相同,取值"1",否则为空串)

完整实现代码如下:

<%@ page language="java" import="java.util.*"contentType="text/html; charset=utf-8"%><%request.setCharacterEncoding("utf-8");%><%String submit1 = request.getParameter("submit1");String submit2 = request.getParameter("submit2");String user = request.getParameter("user");if(user==null) user="";String method = request.getMethod();boolean post = method.equalsIgnoreCase("post"); // method:GET 或 POSTString name = request.getParameter("name");if(name==null) name="";String stuid = request.getParameter("stuid");if(stuid==null) stuid="";String password = request.getParameter("password");if(password==null) password="";String campus = request.getParameter("campus");if(campus==null) campus="";String campuss[]= {"","","","",""};if(campus.equals("north"))campuss[0] = "checked";else if(campus.equals("south"))campuss[1] = "checked";else if(campus.equals("east"))campuss[2] = "checked";else if(campus.equals("shenzhen"))campuss[3] = "checked";else if(campus.equals("zhuhai"))campuss[4] = "checked";/*------------年级--------------*/String grade = request.getParameter("grade");if(grade==null) grade="";String grades[]= {"","","",""};if(grade.equals("freshman"))grades[0] = "selected";else if(grade.equals("sophomore"))grades[1] = "selected";else if(grade.equals("junior"))grades[2] = "selected";else if(grade.equals("senior"))grades[3] = "selected";/*------------社团--------------*/String[] values={"","",""};if(request.getMethod().equalsIgnoreCase("post")){values = request.getParameterValues("club");System.out.println(values[0]);System.out.println(values[1]);System.out.println(values[2]);System.out.println(values.length);}String clubs[]= {"","",""};for(int i = 0 ; i < values.length ; i++){clubs[i] = "checked";}/*------------说明--------------*/String explain = request.getParameter("explain");if(explain==null) explain="";%><!DOCTYPE HTML><html><head><title>postAndKeep</title></head><body><form action="register3.jsp?user=<%=user%>" method="post"><input type="hidden" name="stuid" value="<%=stuid%>" />  名字: <input type="text" name="name" value="<%=name + "*"%>"/><br>密码:<input type="password" name="password" value="<%=password%>" /><br>校区:北校区<input type="radio" name="campus" value="north" <%=campuss[0]%>/>南校区<input type="radio" name="campus" value="south" <%=campuss[1]%>/>东校区<input type="radio" name="campus" value="west" <%=campuss[2]%>/>深圳校区<input type="radio" name="campus" value="shenzhen" <%=campuss[3]%>/>珠海校区<input type="radio" name="campus" value="zhuhai" <%=campuss[4]%>/><br>年级:<select name="grade"><option value="freshman" <%=grades[0]%>>大一</option><option value="sophomore" <%=grades[1]%>>大二</option><option value="junior" <%=grades[2]%>>大三</option><option value="senior" <%=grades[3]%>>大四</option>  </select><br>  社团 :   舞蹈队<input type="checkbox" name="club" value="dance" <%=clubs[0]%>/>               摄影<input type="checkbox" name="club" value="photo"<%=clubs[1]%>/>               篮球<input type="checkbox" name="club" value="basketball"<%=clubs[2]%>/><br>        <table><tr><td valign="top">说明:    </td><td><textarea rows="5" cols="30" name="explain" ><%=explain + "*"%></textarea></td></tr></table><br><input type="submit" name="submit1" value="save" /><input type="submit" name="submit2" value="exit" /></form></body></html>

再科普一下表单提交内容的方法:GET和POST:可以参考

http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html


0 0
原创粉丝点击