防止遗忘,顺手一记
1、JSP内置9种对象
request 请求对象 javax.servlet.ServletRequest Request
response 响应对象 javax.servlet.SrvletResponse Page
pageContext 页面上下文对象 javax.servlet.jsp.PageContext Page
session 会话对象 javax.servlet.http.HttpSession Session
application 应用程序对象 javax.servlet.ServletContext Application
out 输出对象 javax.servlet.jsp.JspWriter Page
config 配置对象 javax.servlet.ServletConfig Page
page 页面对象 javax.lang.Object Page
exception 例外对象 javax.lang.Throwable page
2、页面之间的提交
获取系统的根目录(即webapp目录):
<%=request.getContextPath()
- <form id="form2" name="form2" method="get" action="<%=request.getContextPath()%>/pages/web/fav_result.jsp">
- <input name="c" type="checkbox" id="c" value="1" /> 1 <input name="c"
- type="checkbox" id="c" value="2" /> 2 <input name="c"
- type="checkbox" id="c" value="3" /> 3 <input type="submit"
- name="Submit" value="提交2" />
- </form>
也可以采取相对路径:
- <form id="form3" name="form3" method="get" action="./fav_result.jsp">
或者
- <form id="form3" name="form3" method="get" action="fav_result.jsp">
3、servlet跳转
1) redirect 方式
response.sendRedirect("/a.jsp");
页面的路径是相对路径(相对于webapp根目录)。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如:response.sendRedirect("URL");跳转后浏览器地址栏变化。这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。
- String[] favs = request.getParameterValues("c");
- String url = "";
- for (int i = 0; i < favs.length; i++) {
- url += "c=" + favs[i] + "&";
- }
- response.sendRedirect(request.getContextPath()
- + "/pages/web/fav_result.jsp?"+url);
或者相对路径
- response.sendRedirect(request.getContextPath()
- + "../pages/web/fav_result.jsp?"+url);
2) forward方式
RequestDispatcher dispatcher = request.getRequestDispatcher("/a.jsp");
dispatcher .forward(request, response);
Servlet页面跳转的路径是相对路径(相对于servlet的映射位置而言)。forward方式只能跳转到本web应用中的页面上。跳转后浏览器地址栏不会变化。使用这种方式跳转,传值可以使用三种方法:url中带parameter,session,request.setAttribute
4、控制某个Button在某种条件下不显示
解决方案:非常简单,只要判断下就可以了,
条件不满足,则不输出即可。其他的button再依次显示即可。例如:
- <p align="center">
- <input name="btnAddRegion" type="button" class="button1"
- id="btnAddRegion" onClick="addRegion()" value="添加区域" />
-
- <%
- if (id != 10000) {
- %>
- <input name="btnDeleteRegion" type="button" class="button1"
- id="btnDeleteRegion" value="删除区域" onClick="deleteRegion()" />
-
- <%
- }
- %>
- <input name="btnModifyRegion" type="button" class="button1"
- id="btnModifyRegion" onClick="modifyRegion()" value="修改区域" />
-
- <input name="btnAddClient" type="button" class="button1"
- id="btnAddClient" onClick="addClient()" value="添加分销商" />
- </p>
本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/592680,如需转载请自行联系原作者