我是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>
让我们谈谈包p1。
如果URL是[http:// localhost:8080 / Struts2 / login],则会调用org.tutorial.struts2.action.LoginAction,成功后会将其重定向到调用searchForm的searchTutorialForm操作标记。 JSP。
所以客户端看到的URL是[http:// localhost:8080 / Struts2 / searchTutorialForm] (目的不是让客户看到[http:// localhost: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>
然后使用标记在success.jsp中显示LoginAction对象中的成员变量(但是然后用户将看到URL [http:// localhost:8080 / Struts2 / searchForm.jsp])
基本上我的意图是让用户不要看到任何特定的内部文件或调用.jsp或.action。
重要说明: 动作标签searchTutorialForm中没有动作类 - 基本上是一个虚拟动作。
问题:
1.如何使用第一种方法在LoginAction对象中显示成员变量?
2. Value Stack中LoginAction对象的生命周期是多少?
感谢。
答案 0 :(得分:7)
问题: