3

我将尝试用一个例子来解释我的问题。我正在制作一个登录页面。我将用户名和密码从索引页面传递给操作类进行验证。如果一切正常,那么使用 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>
4

1 回答 1

1

1只需在您的操作类中创建“userLogin”变量,并使用 publicgettersetter

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 会从request 中获取参数值并自动设置为action parameer。

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

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

ETC..

于 2013-04-28T17:14:49.777 回答