<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]
[code="java"]
/seller/{1}.jsp
[/code]
出现问题的原因是你的通配符里面出现了“!”,这种方式和struts默认的匹配方式重叠了。所以,如果你只是想使用通配符的方式匹配,又要包含“!”,可以设置
[code="java"]
[/code]
详细内容参考:[url]https://cwiki.apache.org/WW/action-configuration.html#ActionConfiguration-WildcardDefault[/url]中的红色重点部分。
我感觉也是拿得到的~
很少用struts2
但是这样采用通配符配置的话,感觉不好,如果一个需要ajax请求的操作需要放到次action中那不是有问题了.
一个一个的去写吧
或者自己专门写点东西来处理一下
/seller/{1}.jsp
对于这个配置, 我认为应该是没问题的, 比如Seller!sellerList, 应该会自动访问sellerList方法, 然后跳转到sellerList.jsp
修改上面的配置
/seller/{2}.jsp
访问路径:seller_sellerList.jsp就可以了
这段代码理论上可以拿到,
结合本例通配符的形式为:*_*或者Seller_*,至于!没试过,一般用?和*作为通配符。