【问题标题】:How to pass parameter from an action class to a JSP with Struts2?如何使用 Struts2 将参数从动作类传递给 JSP?
【发布时间】:2013-04-28 17:09:21
【问题描述】:

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

【问题讨论】:

  • 我认为你应该通过 Struts2 提供的 ModelDriven 接口,它仅用于这些目的。

标签: struts2


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

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

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

等等。

【讨论】:

  • 我的动作类中有变量。更准确地说,我有一个带有变量、getter 和 setter 的对象。我需要在我的 struts.xml 中添加其他内容吗?
  • 不,没有什么可添加的
猜你喜欢
  • 1970-01-01
  • 2017-12-03
  • 2013-04-28
  • 2016-03-23
  • 1970-01-01
  • 1970-01-01
  • 2012-04-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多