论坛首页 Java企业应用论坛

悲剧的struts2-convention-plugin

浏览 9788 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (9)
作者 正文
   发表时间:2011-03-18  

好吧,虽然是零配置思想但是默认设置我很不喜欢

 

我更倾向于/namespace/actionName/method.do的访问路径

 

至于result则在默认/Web-inf/content的基础上自定义一遍一般jsp的文件名与method取相同的名称

 

为了这个目标,我开始进行设置,

 

@Results( { @Result(name = "success2", location = "login/login.jsp"),
		@Result(name = "input", location = "/index.jsp") })
@Namespace("login")
public class LoginAction extends BaseAction {

	public String login2() {
		userService.count(User.class);
		List<Staff> list = userService.count2(Staff.class);
		System.out.println("login");
		return "input";
	}

	public String log() {
		userService.count(User.class);
		List<Staff> list = userService.count2(Staff.class);
		System.out.println("log");
		return "success2";
	}
}

 我希望的是访问login2路径为:/login/login!login2.do result:/login/login.jsp

log的访问路径为:/login/login!log.do result:/index.jsp

经过一番配置 发现2个问题,访问路径为:/login/login.do struts2直接就进入了jsp页面,问题是没有这个action,如果说默认的话断点2个方法没进。

 

另外发现一只报找不到login2.do()和log()的错误,后缀是正确的 我设置过了。

   发表时间:2011-03-18  
例如这种异常:
java.lang.IllegalArgumentException: The login2() is not defined in action class com.opensymphony.xwork2.ActionSupport

为什么struts认为login2定义在ActionSupport中?

<!-- 后缀 -->
<constant name="struts.action.extension" value="action,do,," />
<!-- 默认地址 -->
<constant name="struts.convention.result.path" value="/WEB-INF/content/" />
<!-- 后缀 -->
<constant name="struts.convention.action.suffix" value="Action" />
<constant name="struts.convention.action.mapAllMatches" value="true" />

设置应该是没问题的
访问路径:http://localhost:8080/s2sh/login/login!login2.do
第一个login是namespace 第二个是action(LoginAction)
0 请登录后投票
   发表时间:2011-03-18  
问题解决了,还真的与 extends ActionSupport 有关

难道 2者不能共存??
0 请登录后投票
   发表时间:2011-03-18  
快疯掉了,我加上ActionSupport  出错:The login2() is not defined in action class com.opensymphony.xwork2.ActionSupport

去掉ActionSupport   还是出这个错误。

难道strus2有缓存???????????

0 请登录后投票
   发表时间:2011-03-18  
最终应该是解决了。

@Namespace("login")

应该为

@Namespace("/login")

悲催的往干净了,希望大家引以为戒。
0 请登录后投票
   发表时间:2011-03-18  
貌似从头到尾悲剧的不是struts2.
0 请登录后投票
   发表时间:2011-03-18  
其实我更多的是无言以对……
0 请登录后投票
   发表时间:2011-03-18  
官方有文档的,感觉Result那块的处理还不能做到零配置,这块没Grails做的彻底
0 请登录后投票
   发表时间:2011-03-18  
这样一堆堆的注解的,什么零配置……
0 请登录后投票
   发表时间:2011-03-18  
基于注解的配置我没发现比xml好在哪里,xml我搜还比较好搜,一看就知道,请问用注解究竟好在哪里?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics