如何使用Struts2将参数从动作类传递给JSP?

时间:2013-04-28 17:09:21

标签: struts2

我会尝试用一个例子来解释我的问题。我正在创建一个登录页面。我将用户名和密码从索引页传递给动作类进行验证。如果一切正常,那么使用strus.xml,我打开一个新的JSP。现在,我不想显示刚刚登录新JSP的用户的名称。这是struts.xml的一个例子

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="login" extends="struts-default">
        <action name="tryLogin" class="action.LoginAction">
            <result name="success" >/success.jsp</result>
            <result name="login">/login.jsp</result>
            <result name="input">/login.jsp</result>
        </action>
    </package>
</struts>

1 个答案:

答案 0 :(得分:1)

1 只需使用公开gettersetter

在您的操作类中创建“userLogin”变量
public LoginAction extends ActionSupport {

  private String userLogin;

  public String execute{
    ... some code.....
  }

  public String getUserLogin(){
    return userLogin;
  }

  public void setUserLogin(String login){
    this.userLogin= login;
  }
}

Struts2 ParametersInterceptor将从请求中获取参数值,并自动将其设置为动作参数。

2要在动作结果jsp页面中读取此参数,只需使用一些struts标记

  <s:property value="userLogin"/>, 
  <s:textfield name="userLogin"/>, 

等。