首先:当struts2的"url-pattern"设置为"/*"时,此时Struts2的扩展名就默认为.action,所以使用.json这个扩展名就会访问不到。如果任然坚持使用.json这个扩展名,有三种发放来更改Struts2 Actin的扩展名。
 
在Struts2中,所有动作类有一个默认的后缀 .action 扩展。 例如,
<struts>
  <package name="default" namespace="/" extends="struts-default">
	<action name="SayStruts2">
		<result>pages/printStruts2.jsp</result>
	</action>
  </package>
</struts>
如要访问“SayStruts2”动作类,需要使用以下网址:
Action URL : http://localhost:8080/Struts2Example/SayStruts2.action
配置动作扩展
Struts 2是允许配置扩展名的,要对其进行更改,只需要声明一个常数“struts.action.extension”值:

1. html 扩展

更改动作类为 .html 的扩展名。
<struts>
	 
  <constant name="struts.action.extension" value="html"/> 
	
  <package name="default" namespace="/" extends="struts-default">
	<action name="SayStruts2">
		<result>pages/printStruts2.jsp</result>
	</action>
  </package>
	
</struts>
现在,可以通过访问“SayStruts2”动作类,使用如下URL:
Action URL : http://localhost:8080/Struts2Example/SayStruts2.html

2. 不使用扩展

动作类更改为空的扩展。
<struts>
	 
  <constant name="struts.action.extension" value=""/> 
	
  <package name="default" namespace="/" extends="struts-default">
	<action name="SayStruts2">
		<result>pages/printStruts2.jsp</result>
	</action>
  </package>
	
</struts>
现在,可以通过如下的URL来访问“SayStruts2' 动作类:
Action URL : http://localhost:8080/Struts2Example/SayStruts2
posted on 2016-06-12 14:31  Sharpest  阅读(258)  评论(0编辑  收藏  举报