Alexniver
2012-02-12 03:52
浏览 182
已采纳

对于Struts2页面跳转通配符的问题

    <action name="Seller!*" class="com.kcan.action.SellerAction" method="{1}">
            <result>/seller/{1}.jsp</result>

    </action>

对于这个配置, 我认为应该是没问题的, 比如Seller!sellerList, 应该会自动访问sellerList方法, 然后跳转到sellerList.jsp

但事实上一直报错。 错误信息是:

HTTP Status 404 - /seller/.jsp

type Status report

message /seller/.jsp

description The requested resource (/seller/.jsp) is not available.

这里, 通配符对于method生效了, 可以正常的访问到sellerList方法, 可川对于jsp的设置并没有生效。 为什么呢? 为什么拿不到?
[code="java"]
public String sellerList() {
sellerList = sellerService.getSellerList(0, Constant.PAGE_SIZE);
return SUCCESS;
}[/code]

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • myali88 2012-02-13 10:57
    已采纳

    [code="java"]

    /seller/{1}.jsp

    [/code]
    出现问题的原因是你的通配符里面出现了“!”,这种方式和struts默认的匹配方式重叠了。所以,如果你只是想使用通配符的方式匹配,又要包含“!”,可以设置
    [code="java"]

    [/code]
    详细内容参考:[url]https://cwiki.apache.org/WW/action-configuration.html#ActionConfiguration-WildcardDefault[/url]中的红色重点部分。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • weixin_42581804 2012-02-12 09:17

    我感觉也是拿得到的~

    很少用struts2

    但是这样采用通配符配置的话,感觉不好,如果一个需要ajax请求的操作需要放到次action中那不是有问题了.

    一个一个的去写吧

    或者自己专门写点东西来处理一下

    评论
    解决 无用
    打赏 举报
  • cunyan 2012-02-12 22:55


    /seller/{1}.jsp

    对于这个配置, 我认为应该是没问题的, 比如Seller!sellerList, 应该会自动访问sellerList方法, 然后跳转到sellerList.jsp

    修改上面的配置

    /seller/{2}.jsp

    访问路径:seller_sellerList.jsp就可以了

    评论
    解决 无用
    打赏 举报
  • lbinzhang 2012-02-13 09:46

    这段代码理论上可以拿到,
    结合本例通配符的形式为:*_*或者Seller_*,至于!没试过,一般用?和*作为通配符。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题