struts2使用通配符配置action找不到
首先前台页面使用ajax发送action请求struts。xml使用通配符配置action后台Action类里面写对应的方法,具体代码如下:前台jsp:jQuery.aj...
首先前台页面使用ajax发送action请求
struts。xml使用通配符配置action
后台Action类里面写对应的方法,具体代码如下:
前台jsp:
jQuery.ajax({
type : "POST",
//第一个url提示 “1”对话框,第二个就提示错误信息的对话框
//url : "frame/portal_getNews.action?data="+new Date(),
url : "frame/portal_getNEws.action?data="+new Date(),
dataType : "json",
success : function(d) {
alert(1);
},
error : function(request, error, exception)
{
alert("数据错误: " + error + " 异常:" + exception);
}
});
strust里的action配置:
<package name="portal" extends="struts-telframe" namespace="/frame">
<action name="portal_*" class="com.telchina.frame.action.MainAction" method="{1}">
<interceptor-ref name="telTokenFrameStack" />
<result name="success" type="rawtext" />
</action>
</package>
MainAction 里面的方法
public String getNews() {。。。。。。。。。。。。。。}
public String getNEws() {。。。。。。。。。。。。。。}
这两个方法的方法体完全一样,就是方法名不一样
我在前台访问jsp页面的时候,如果使用第一个url,能正常跑
如果使用第二个url,就会提示错误信息(指alert输出的错误信息,不是控制台报错),并且后台的getNEws方法打上断点也不会执行。
大神们有遇到这种情况的吗,这是测试例子,我实际中需要使用的方法名可能包含多个大写字母,但是情况跟这个一样,也是不执行action 展开
struts。xml使用通配符配置action
后台Action类里面写对应的方法,具体代码如下:
前台jsp:
jQuery.ajax({
type : "POST",
//第一个url提示 “1”对话框,第二个就提示错误信息的对话框
//url : "frame/portal_getNews.action?data="+new Date(),
url : "frame/portal_getNEws.action?data="+new Date(),
dataType : "json",
success : function(d) {
alert(1);
},
error : function(request, error, exception)
{
alert("数据错误: " + error + " 异常:" + exception);
}
});
strust里的action配置:
<package name="portal" extends="struts-telframe" namespace="/frame">
<action name="portal_*" class="com.telchina.frame.action.MainAction" method="{1}">
<interceptor-ref name="telTokenFrameStack" />
<result name="success" type="rawtext" />
</action>
</package>
MainAction 里面的方法
public String getNews() {。。。。。。。。。。。。。。}
public String getNEws() {。。。。。。。。。。。。。。}
这两个方法的方法体完全一样,就是方法名不一样
我在前台访问jsp页面的时候,如果使用第一个url,能正常跑
如果使用第二个url,就会提示错误信息(指alert输出的错误信息,不是控制台报错),并且后台的getNEws方法打上断点也不会执行。
大神们有遇到这种情况的吗,这是测试例子,我实际中需要使用的方法名可能包含多个大写字母,但是情况跟这个一样,也是不执行action 展开
展开全部
Action没执行说明中间被拦截器拦截了,返回error结果(或input),具体什么错你没贴上代码,也许是早不到Action(的方法吧)
追问
这个程序没有报错的地方,jquery.ajax发送action请求的时候,我怀疑有两个地方出错的可能性大:
一个是找不到对应的action,一个是找到了对应的action,但是找不到注册的方法。总的来说 是后台相对应的代码没有执行,所以错误是在发送action请求之后发生的,但就是不理解同样的方法只是名字不同而已,为什么一个能执行 而另一个不能执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询