我是Struts2框架的新手,我没有太多时间阅读任何Struts2书籍.我只是从YouTube上学习它.无论如何,这是我的问题.
据说我的struts.xml如下:
<struts>
<package name="p1" namespace="/" extends="struts-default">
<action name="login" class="org.tutorial.struts2.action.LoginAction">
<result name="success" type="redirect" >searchTutorialForm</result>
<result name="error">/login.jsp</result>
</action>
<action name="searchTutorialForm">
<result>/searchForm.jsp</result>
</action>
</package>
</struts>
Run Code Online (Sandbox Code Playgroud)
让我们来谈谈包p1.
如果URL是说[HTTP://本地主机:8080/Struts2的/登录]时,org.tutorial.struts2.action.LoginAction被调用,并在成功时它就会被重定向到调用searchForm.jsp的searchTutorialForm动作标签.
因此,客户端将看到的网址是[HTTP://本地主机:8080/Struts2的/ searchTutorialForm(目的不是为客户端看到[HTTP://本地主机:8080/Struts2的/ searchForm.jsp])
现在LoginAction中有一些成员变量,它们使用tag在searchForm.jsp中显示.但是使用这种方法它们不会显示,因为我认为对象LoginAction不再在ValueStack中(重定向之后,我认为??).
当然,如果我不使用上述方法,而是按照以下方式:
<struts>
<package name="p1" namespace="/" extends="struts-default">
<action name="login" class="org.tutorial.struts2.action.LoginAction">
<result name="success">/searchForm.jsp</result>
<result name="error">/login.jsp</result>
</action>
</package>
</struts>
Run Code Online (Sandbox Code Playgroud)
然后使用标记在success.jsp中显示LoginAction对象中的成员变量(但是然后用户将看到URL [http:// localhost:8080/Struts2/searchForm.jsp])
基本上我的意图是用户不要看到任何特定的内部文件或调用像.jsp或.action.
重要说明:动作标签searchTutorialForm中没有动作类 - 基本上是一个虚拟动作.
问题:
1.如何使用第一种方法在LoginAction对象中显示成员变量?
2. Value Stack中LoginAction对象的生命周期是多少?
谢谢.
归档时间: |
|
查看次数: |
2739 次 |
最近记录: |