三种获取方式:
1、servletactioncontext
2、ActionContext
3、实现接口RequestAware/SessionAware/ApplicationAware
1、servletactioncontext
2、ActionContext
3、实现接口RequestAware/SessionAware/ApplicationAware
2017-04-02
最赞回答 / qq_这是只仓鼠_0
好吧<s:fielderror />就是输出所有的错误信息 name是标示而已...<s:fielderror> <s:param>field1 </s:param> <s:param>field2 </s:param> </s:fielderror>才是针对字段
2017-03-31
当value设置为空时,针对method和action使用通配符的情况下后缀会被认作参数传递进去导致抛出类找不到或方法找不到异常,在不使用通配符时,后缀任意均可;在value设置为非空值的时候,不影响通配符的使用。
2017-03-30
原因是sturts是根据action中的name来调用进行处理,而这里name中使用*_*的时候,会导致所有地址的连接都由这个action来处理,同时应为class=中使用了通配符,会根据"_"后面的这个值来寻找对应的类,找不到自然就会抛出class not found异常,这里建议给action中的name属性设定一个固定的值,不要以通配符开头即可解决。
2017-03-30
http://blog.csdn.net/allenjay11/article/details/68067309 个人整理博客笔记及运行源码,持续更新中
2017-03-29
看大家都不懂还是说一下
struts2的机制是根据url地址去匹配action,如果我用了
<action name="helloWorld_*" method="{1}" class="com.study.action.HelloWorldAction">
那么如果我的url地址匹配了helloWorld,就会!动态地!去调用helloWorld这个action的*方法,然后找不到这个方法的话当然会报错。
故你要触发默认Action的话,得在action那里就找不到才会触发,
例如我直接test_add.action就会触发默认Action。
因为我根本不存在test这个action。
struts2的机制是根据url地址去匹配action,如果我用了
<action name="helloWorld_*" method="{1}" class="com.study.action.HelloWorldAction">
那么如果我的url地址匹配了helloWorld,就会!动态地!去调用helloWorld这个action的*方法,然后找不到这个方法的话当然会报错。
故你要触发默认Action的话,得在action那里就找不到才会触发,
例如我直接test_add.action就会触发默认Action。
因为我根本不存在test这个action。
2017-03-28
There is no Action mapped for namespace [/] and action name [addAction] associated with context path [/fuck]. - [unknown location]
他妈的我想骂人,这玩意怎么搞都是报这样的错,这他妈到底是怎么回事!处理逻辑怎么看都没啥问题啊!
他妈的我想骂人,这玩意怎么搞都是报这样的错,这他妈到底是怎么回事!处理逻辑怎么看都没啥问题啊!
2017-03-28
最赞回答 / 慕UI6967936
.do是struts1的后缀名,.action是struts2的后缀名,具体详情及区别可以去百度查,你说的/*应该是指.xml文件中对过滤器配置的那部分吧,这个是指该项目下的说有访问路径都要经过这个过滤器,例如如果你在xml过滤器的url-pattern中设置的路径为“/index”,那么只有当你访问项目下的/index路径时才会进入过滤器
2017-03-27