您的位置:首页 > 产品设计 > UI/UE

action中servlet,request,session对象

2013-11-18 17:04 225 查看
action中关键代码:
HttpServletRequest request =ServletActionContext.getRequest();
      
request.setAttribute("username", "username_request");
      
      
      
      
Map sessionMap =ServletActionContext.getContext().getSession();
   
    sessionMap.put("username", "username_session");
      
   
    ServletContext sc =
ServletActionContext.getServletContext();

       sc.setAttribute("username", "username_application");

 

显示页面:

使用struts标签需要引入:<%@ taglib uri="/struts-tags"  prefix="s"%>

<%@pagelanguage="java"pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags"  prefix="s"%>
<html>
  <head>
   
<title>My JSP 'index.jsp' starting page</title>
   
<meta
http-equiv="description"content="This is my page">
  </head>
  <body>
   <!--获取request -->
   
jstl取request值:${requestScope.username}<br>
   
<!-- struts2标签访问: -->
  
struts取request值:<s:property value="%{#request.username}" /><br>  
   
<!--获取session -->
   
jstl取session值:${sessionScope.username}<br>
   
struts取session值:<s:property value="%{#session.username}" /><br>
   
<!-- 获取appliaction -->
   
jstl取application值:${applicationScope.username}<br>
  
struts取appliaction值:<s:property value="%{#appl
4000
ication.username}
"/> 
  </body>
</html>
 


 
使用jstl标签需引入:<%@tagliburi="http://java.sun.com/jstl/core_rt" prefix="c"%>
使用用:request对象:
action中: 
    HttpServletRequest request = ServletActionContext.getRequest();
   
request.setAttribute("username", "username_request");
   
request.setAttribute("listAll", DAOFactory.getPersonDAOInstance().queryAll());
jsp中:
${requestScope.username}<!--一个对象-->
使用struts自定义标签获取:
<!--集合对象-->
  使用jstl获取:
  <c:forEach items="${requestScope.listAll}"var="list">
       <tr>
           <td align="center">${list.id}</td><!-- 输出id -->
           <td>${list.name}</td><!-- 输出name -->
           <td>${list.password}</td><!-- 输出password -->
           <td align="center"><a
href
="test!queryById?id=${list.id}">修改</a></td>
           <td align="center"><a
href
="test!delete?id=${list.id}">删除</a></td>  
          
       </tr>
    </c:forEach>
使用session对象:
action中:
   
HttpSession session_user = ServletActionContext.getRequest().getSession();

    //把登录的用户名保存到session中
    session_user.setAttribute("name",name);
jsp中:
${sessionScope.name}
使用context对象
action中:
ServletContextsc = ServletActionContext.getServletContext();
sc.setAttribute("username", "username_application");
jsp中:
<!-- 获取appliaction -->
${applicationScope.username}

struts作为成熟的框架当然有自己的异常处理机制,在strtus.xml的配置文件中可以通过全局异常处理机制和局部异常

处理机制来处理action中遇到的异常。全局异常配置在package内部,而局部异常处理机制配置在action里面即可。

注意内部的配置顺序报错时需要调整。

<global-Exception-mappings>

     <Exception-mapping exception="java.sql.SQLException" result="sql">通过sql在action中配置result的返回页面

</[b]global-Exception-mappings[/b]>

<package>

   <action>

      <result name="sql">/exception.jsp</result>

   </action>

</package>

exception.jsp在异常页面可以打印出异常信息和异常堆栈信息

<%taglib prefix="s" url="/struts-tags"/>

<div>

<s:property value="exception.message"/>

<s:property value="exceptionStack"/>

</div>

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  servlet action
相关文章推荐