struts2访问web元素集合

本文介绍了一个Struts2框架中的示例代码,展示了如何在Action类中设置request、session及application三个不同作用域的数据,并在welcome.jsp页面通过EL表达式、S标签和Java代码获取这些数据。

java代码:

package Test.Action.UserAction;


import java.util.Map;


import javax.servlet.http.HttpServletRequest;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;


@SuppressWarnings("serial")
public class UserAction extends ActionSupport{

private Map request;
private Map session;
private Map application;

public  UserAction(){

request=(Map)ActionContext.getContext().get("request");
session=ActionContext.getContext().getSession();
application=ActionContext.getContext().getApplication();
}

public String execute(){

request.put("r","r1");
session.put("s","s1");
application.put("a","a1");

return SUCCESS;
}

public Map getRequest() {
return request;
}


public void setRequest(Map request) {
this.request = request;
}


public Map getSession() {
return session;
}


public void setSession(Map session) {
this.session = session;
}


public Map getApplication() {
return application;
}


public void setApplication(Map application) {
this.application = application;
}


}

-------------------------------------------------------------------------------------------------------------------------------------------

struts.xml代码:

<constant name="struts.devMode" value="true" />
    <package name="user" namespace="/" extends="struts-default">
    <action name="user" class="Test.Action.UserAction.UserAction">
    <result>/welcome.jsp</result>
    </action>
    </package>

-------------------------------------------------------------------------------------------------------------------------------------------

jsp代码:

 request、session、与application:<br/> 
  
  <hr>
    El表达式取值:<br/>
    request.r=${request.r}<br>
    session.s=${session.s}<br>
    application.a=${application.a}<br>
    <hr>
    S标签的property属性取值:<br/>
    request.r=<s:property value="#request.r"/><br/>
    session.s=<s:property value="#session.s"/><br>
    application.a=<s:property value="#application.a"/><br>
     <hr>
   S标签的property属性取值(第二种方法):<br/>
    attr.r=<s:property value="#attr.r"/><br/>
    attr.s=<s:property value="#attr.s"/><br/>
    attr.a=<s:property value="#attr.a"/><br/>
    <hr>
    java代码取值:<br/>
    request.getAttribute("r")=<%=request.getAttribute("r") %><br>
    session.getAttribute("s")=<%=session.getAttribute("s") %><br>
    application.getAttribute("a")=<%=application.getAttribute("a") %><br>
    <hr>
    <s:debug></s:debug>
    
结果如图所示:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值