你的位置:首页 > ASP.net教程

[ASP.net教程]struts2 的action 向页面传值


 

写一个Action类:
public class LoginAction{public String execute(){return SUCCESS;}public void setValue(SomeBean value){this.value=value;}public SomeBean getValue(){return this.value;}private SomeBean value;}

  

再写出Bean类:
public class SomeBean{public String getName(){}public void setName(String name){}}

  

方法一:
使用OGNL表达式。你可以使用struts自带的标签,他们都支持OGNL,比如s:property。举个例子:
<!--test.jsp--><%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8"%><%@ taglib prefix="s" uri="/struts-tags" %><s:property value="value.name"/>

你访问LoginAction的时候s:property标签就会显示getValue().getName();
如果你想了解更多的struts2标签和OGNL表达式建议去找更详尽的资料。

  

方法二:
当然是使用JSP本身的性质了。通过request和session来获取值。
我们把Action类改一下:
public class LoginAction{public string execute(){SomeBean value=new SomeBean();value.setName("sfsfjsfje");ActionContext context=ActionContext.getContext();//往request里放attributecontext.put("value",value);//往session里放context.getSession().put("value",value);return SUCCESS;}}

  

接下来我们改页面:
<!-- test.jsp --><%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8"%><%@ taglib prefix="s" uri="/struts-tags" %><%= ((SomeBean) request.getAttribute("value")).getName() %><%= ((SomeBean) session.get("value")).getName() %>