【问题标题】:Struts2 namespace complex configurationStruts2命名空间复杂配置
【发布时间】:2012-02-14 03:42:02
【问题描述】:

我想做这样的事情:

<a href"page1/login.action"> Link </a>
<a href"page2/login.action"> Link </a>
<a href"pagen/login.action"> Link </a>

然后每个子文件夹都使用相同的登录名,然后我可以创建动态子文件夹

我必须如何配置 struts.xml? 这不起作用

<package name="default" extends="struts-default" namespace="/*/">
  <action name="login" class="package/myclass">
  ...
</package>

有什么想法吗?

【问题讨论】:

  • 命名空间不能包含通配符,可以说namespace="page1"
  • 命名空间是一种逻辑分隔,通配符不能满足您的要求。

标签: java jakarta-ee struts2 struts2-namespace


【解决方案1】:

我们不能在命名空间中使用通配符。但是您可以使用通配符进行操作映射。

在 jsp 中使用 struts url 标签并在 struts.xml 中的动作名称中使用通配符。见参考http://struts.apache.org/2.2.3/docs/wildcard-mappings.html

<a href='<s:url name="page1/login.action" namespace="/">'> Link </a>
<a href='<s:url name="page2/login.action" namespace="/">'> Link </a>

希望这会对你有所帮助。

【讨论】:

    【解决方案2】:

    我终于做到了:

    <package name="default" extends="struts-default" namespace="/">
      <action name="login" class="package/myclass" method="initCampusList" >
        <result name="success" >/user/pickUser.jsp</result>
    

    我必须把结果的绝对网址 感谢您的回答

    【讨论】:

    • 如果这是您帖子的解决方案,我建议您接受自己的答案,以便其他人可以找出哪个是正确答案
    猜你喜欢
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    • 2014-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    相关资源
    最近更新 更多