开发者社区> 问答> 正文

struts2在页面的form的action属性值应该怎么写:报错

 问一下大家 struts2 的在jsp的<form action="xxx">这个地方。action是应该写成 xxx  还是xxx.action啊?在网上看到有的地方带.action 有的不带,这是为什么 

展开
收起
kun坤 2020-06-09 13:51:25 484 0
1 条回答
写回答
取消 提交回答
  • 这要看你 配置的拦截器。。一般在web.xml里边。如果是  /* 那就是全部链接,就不用加.action    
    如此。。其实在Myeclipse 中add Struts2  的时候 有给你选择是  .action 还是.do  或者全部的。。
    应该是这样,如果不是 ,请指正,,我也是菜鸟。 ######

    引用来自“小汤哥”的评论

    这要看你 配置的拦截器。。一般在web.xml里边。如果是  /* 那就是全部链接,就不用加.action     如此。。其实在Myeclipse 中add Struts2  的时候 有给你选择是  .action 还是.do  或者全部的。。 应该是这样,如果不是 ,请指正,,我也是菜鸟。 <filter>

    <filter-name>action2</filter-name>

    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

    </filter>

    <filter-mapping>

    <filter-name>action2</filter-name>

    <url-pattern>/*</url-pattern>

    </filter-mapping>

    是过滤器,,,更正一下。。。

    ######回复 @Mr_Sky : 上配置,web.xml######有点奇怪是,我写action="xx" 可以请求到那个action。写成action="xx.action"反而报404。struts2的配置里没有修改过默认的.action后缀,这您知道什么问题吗?######

    引用来自“小汤哥”的评论

    这要看你 配置的拦截器。。一般在web.xml里边。如果是  /* 那就是全部链接,就不用加.action     如此。。其实在Myeclipse 中add Struts2  的时候 有给你选择是  .action 还是.do  或者全部的。。 应该是这样,如果不是 ,请指正,,我也是菜鸟。

    引用来自“小汤哥”的评论

    <filter>

    <filter-name>action2</filter-name>

    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

    </filter>

    <filter-mapping>

    <filter-name>action2</filter-name>

    <url-pattern>/*</url-pattern>

    </filter-mapping>

    是过滤器,,,更正一下。。。

    发现原因了,是因为在struts.xml里面配了个<constant name="struts.action.extension" value=","></constant>,这样就只会处理没有.action的请求。同时发现了在default.properties中有个属性是这样的struts.action.extension=action,,   其实struts默认已经处理.action或者没有尾缀的请求了######如果我struts.xml写了constant 就是覆盖了默认配置

    2020-06-09 13:51:31
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载