Struts 2:如何正确地前进到其他行动?

时间:2011-10-18 17:22:36

标签: struts2 friendly-url

我正在开发一个Struts 2项目,我需要实现2个友好的URL。由于我的2个网址需要类似网址/名称/ ID 网址/ ID /标题,因此我找到管理此功能的唯一方法是使用第1步操作处理请求然后转发到正确的Action1或Action2,如下所示:

<action name="/*/*" class="web.ProcessRequestAction">
       <param name="firstParam">{1}</param>
       <param name="secondParam">{2}</param>
       <result name="action1" type="chain">Action1</result>
       <result name="action2" type="chain">Action2</result>
</action>

同时定义这两个动作:

<action name="Action1" class="web.Action1" method="execute">
       <result name="success">/WEB-INF/content/Action1.jsp</result>     
       <result name="input">/WEB-INF/content/Action1.jsp</result>
       <result name="error">/WEB-INF/content/Action1.jsp</result>
</action>

但是,如果我调用URL /参数/参数,然后在ProcessRequestAction上返回“Action1”,我将获得Action1.jsp(按预期),但是所有混乱,似乎都缺少所有CSS。 首先,我的方法是正确的吗?如果是这样,我在这里做错了什么,我能改进什么?

Thansk提前!

2 个答案:

答案 0 :(得分:1)

至于你的CSS无法正常工作的原因,我们无法知道 - JSP是一个JSP,并遵循正常的JSP / HTML规则。

关于第一个问题:我建议反对行动链接;它积极地气馁,通常只会搞得一团糟。

如果不了解您的应用程序架构,很难提供有针对性的建议,但您可能会发现parameters in namespaces有帮助。

即使它不能立即应用,您也可以玩PatternMatcherActionMapper更符合您实际需求的游戏 - 实施取决于多种因素,尤其是名称,标识和标题网址组件的格式。

答案 1 :(得分:1)