struts2.5 可以进入action但method方法不执行

遇见的问题是:
如果传name值,就会执行method方法。
如果不传值或传其他值,就不执行method方法。
在网上找了一天,能找到的方法都试过了还是没解决。
struts.xml配置:

<action name="toProduct_result" class="productAction" method="resultProductInfo">
            <result>/WEB-INF/view/product_result.jsp</result>
            <result name="input">/WEB-INF/view/product_result.jsp</result>
            <allowed-methods>resultProductInfo</allowed-methods>
</action>

Action类中的方法:

public String resultProductInfo(){
            setId(123);
            setName("abc");
            System.out.println("=============");
            return SUCCESS;
}

测试一:不传值
不传值

测试二:传id值
传id值

测试三:传name值
传name值

真的不明白为啥会这样。
只有传name值的时候才会执行方法,控制台也会有输出信息。
传其他值和不传值都不执行方法,控制台也没有输出信息。

也没有其他的拦截方法,跳转到这个jsp页面的只有这一个方法。

0

1个回答

你在action类的方法中打一个断点,用debug模式重启项目,看一下参数是否有值。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
struts-2.5配置后找不到action,而且只执行index 不执行指定method
http://blog.csdn.net/yzk2356911358/article/details/78568028问题一: action 必须指定class <action name="hello" class="com.csy.struct2.HelloStruct2">否则404HTTP Status 404 - /Struct2msb/test/hellontype Status repo
Struts2 2.5版本执行index 不执行指定method
报错  Wrong method was defined as an action method: index (Action类里面没有定义index这个方法)rn错误原因 :rn按以往的理解 为了实现项目的零配置,采用struts2的注解方式进行配置,会直接调getHelloWorld方法。rn那么为何会报错呢?rn看了Struts2的调用全过程,发现其实调用mapper的时候 是直接指向org
struts2.5动态方法绑定问题
Struts动态方法绑定不成功,Struts2.5动态方法调用失败升级问题 n今天发现Struts2.5版本的不能使用动态方法绑定 查了下说是调用实体类action时不安全,新版本中默认关闭了 n在Struts.xml中配置了开启还是不能使用 n文件如下<?xml version="1.0" encoding="UTF-8" ?> n <!DOCTYPE struts PUBLIC
struts2.5使用通配符时action指定method方法报错
报错信息:1,使用&amp;lt;constant name=&quot;struts.enable.DynamicMethodInvocation&quot; value=&quot;true&quot;&amp;gt;&amp;lt;/constant&amp;gt;配置动态方法开启常量,使用 ! 进行动态 方法调用错误:struts2 Method login for action UserAction is not allowed!2,使用 * 进行动态方法调...
struts2.5的method使用通配符无效问题
struts2.5版本引入了新的安全限制(据说是2.3版本开始,没去确认)新版本通配符需要配置才能使用两种方法1. 关闭严格方法调用 ....
struts2.5 使用感叹号和通配符实现动态方法调用无效的问题及解决!
struts2.5 使用感叹号和通配符实现动态方法调用无效的问题及解决,即使 struts.xml 配置文件正确,仍然定位不到想要的链接!
Struts-2.5 Action动态调用与通配调用无效解决办法
Struts-2.5 Action动态调用与通配调用无效解决办法标签(空格分隔): 后端技术学习一、问题引入1. 动态方法调用的使用在实际开发中,随着应用程序的不断扩大,不得不管理数量庞大的Action,为了减少Action,通常在一个Action中编写不同方法(必须遵从execute()方法相同的格式)出来不同的请求,如编写LoginAction,其中login()方法处理登录,register(
Struts2.5新版本中的action三种实现方法
第1种最直接的&amp;lt;a href=&quot;&amp;lt;%=path%&amp;gt;/userAction.action&quot;&amp;gt;添加&amp;lt;/a&amp;gt;&amp;lt;action name=&quot;userAction&quot; class=&quot;com.jike.struts.action.UserAction&quot; method=&quot;add&quot;&amp;gt;&amp;lt;result name=&quot;su
解决Struts2版本2.5之后Action动态方法调用不能正常访问
struts2从2.5版本开始,为了提升安全性,默认开启了严格的方法调用。那么如何解决action动态调用不能正常访问呢?1、首先,开启动态调用;       &amp;lt;constant name=&quot;struts.enable.DynamicMethodInvocation&quot; value=&quot;true&quot;&amp;gt;&amp;lt;/constant&amp;gt;2、必须在package中设置 strict-method...
关于Struts2.5的配置的一些注意事项
Struts2.5的配置的一些注意事项nnn所需jar包 n n注意事项: n以上jar包是根据官方的示例添加的,但官方还多加了一个struts2-rest-plugin-2.5.14.1.jar,笔者加进去后会出现错误,导致项目无法运行action。 n n当出现Wrong method was defined as an action method: index - Class: java.l
struts2 中,使用了 Rest与Convention插件后,访问 动态方法 的注意点
n以前使用struts2  的 2.3.4 版本,做的一个项目,使用了stuts2的 Rest与Convention插件,然后动态访问某个action中的方法时,都是使用 “!” 去进行指定的,如rn rnhttp://127.0.0.1:7070/oa/login!loginrn这样的话,convention插件会自动去查找 LoginAction 中的 login() 方法。rn rn这样做一...
Struts2的Action中方法的几种访问方式 以及Method属性不写会怎样,class属性不写会怎样
首先谈一谈如果Action元素不写method属性会怎样nn默认执行的是execute()方法,这个方法在ActionSupport.class中,所以一般推荐自己写Action的时候去继承ActionSupport类,可以避免一些不必要的定义和麻烦nn然后,Method属性不写会怎么样呢? nn很明显,默认是ActionSupport.class,它实现了Action接口。nn1、指定Actio...
struts2.5.12版本使用action通配符提示找不到action的问题
我配置了一个PageAction<action name="*" method="{1}" class="com.cheng.web.action.PageAction">n <result name="success">/page/{1}.jsp</result>n <allowed-methods>delete,update,insert,select</allowed-meth
ssh 项目中struts2 "input"返回后无法执行Action解决方法
我的问题出现在校验户登录时,一开始要是输入正确的密码就可以正常运行,但是如果登录错误单的密码后,再返回视图后,再登录输入正确的密码也没用了,一直都是显示密码错误。这是由于我在Action里密码错误的情况中添加了ActionError(添加其他的错误提示也可以同理),在输入错误密码后,ActionError就保存了错误信息,等到在次登录时,validate()方法会进行表单验证,才会执行Action中
记一次struts2.3升级到struts2.5
最严重的问题是,框架获取不到url中的action name,错误提示如下:There is no Action mapped for namespace / and action name[index]莫名其妙的index,然后我debug断点跟踪,后来发现了问题,先放上struts2-core中DefaultActionMapper.class中设置mapping中name的方法对比版本2.3...
解决Struts2版本2.5之后通配符不能使用的方法
struts2从2.5版本开始,为了提升安全性,默认开启了严格的方法调用。如果要使用通配符*,必须在package中设置 strict-method-invocation=&quot;false&quot;,代码如下:&amp;lt;package name=&quot;user&quot; extends=&quot;struts-default&quot; strict-method-invocation=&quot;false&quot;&amp;gt;n &amp;lt;action nam...
Struts Action的execute方法不执行问题
学习了SpringMVC,又想去探究一下Struts的奥秘,是否和SpringMVC有什么异同之处?nnn于是,动手编写了一个非常简单的demo程序,但是在写的过程中,发现页面提交的请求可以进到自己编写的action中,但就是不执行action的execute方法,搞了好久,还是没有办法解决。后来参考网上的一些资料,发现action中有两个execute重载方法,其中参数类型有所不同,不认真
Struts2动态方法报错
在使用Struts2的2.5.12版本,在使用DMI(动态方法注入)的时候,总是报:HTTP Status 404 - There is no Action mapped for namespace [/] and action name [user!update] associated with context path [/M_Struts_1].type Status reportmessag
Struts2.5关于<s:action.../>标签找不到Action的问题
这个问题调试了一早上,网上查了很多的资料,终于是解决了。若要保证标签能找到相应的Action,得满足以下条件(其他地方不出错的话): n1、保重Action的名字正确,与struts.xml中action name相匹配。 n2、命名空间,这个很重要,我一直出错的原因就是这个问题,在jsp页面上的命名空间一定要和struts.xml的命名空间保持一致,默认的命名空间:namespce="/"需要都加
struts2.5框架使用通配符指定方法常见错误
在struts2.3之前的版本,正常的配置就可以了,但在struts2.3版本之后,使用通配符调用方法时,内部会验证是否允许访问该方法,所以要加上n<allowed-methods>方法名1,方法名2…</allowed-methods>代码。n希望这个小知识点能帮助更多编程爱好者,在java道路上,与志同道合者共勉!!
Struts-2.5-动态方法通配符使用
struts.xml 配置nn以下就是struts 2.5 版本的通配符配置,和原来的2.3版本有点区别nn(第一次运行服务的时候尽量连上网络)nn第一种nnnn所有文件都采用通用命名规范nn{1}、{2}、{3}分别指第一个*(方法名)、第二个*(action类名)、第三个*(跳转页面也是方法返回的结果码)nnallowed-methods 可以放置多个方法名nn第二种nnnn在package加...
struts项目默认进入后台action
/index.ftl n  nnn1.注:ndefault-action-ref的name 一定要与action的name保持 一致n2.naction的name不要为index
struts2 action 运行完不跳转
rn我的目的是点&quot;导入&quot;按钮,执行名为&quot;test.do&quot;的action,但就算action里return null;他还是会跳转,其实要执行action只要把action的地址传给服务器就OK了。rn用jQuery的jQuery.ajax 方法,能完全不跳转,rn不加Math.random()没反应,在action拿filePath的地方再去掉那个随即数就可以了,rn没参数也加上随机   $.aj...
struts-2.5.20 动态方法调用使用无法正常跳转
struts-2.5 之前的版本struts.xml 代码写法如下:n&amp;lt;package name=&quot;default&quot; namespace=&quot;/&quot; extends=&quot;struts-default&quot;&amp;gt; n &amp;lt;!-- 通配符指定方法 --&amp;gt;n &amp;lt;action name=&quot;helloWorld_*&quot; method=&quot;{1}&quot;
form.submit() 不执行问题
rn function sub(form, actionName) {rn form.action = actionName;rn form.submit();rn }rnrnrn rn rn 账号:rn rn rn 密码:rn rn rn rn rn rn由于提交的input name设置为submit有重名问题,所以form.submit...
使用最新的struts2 2.5.5导致404的问题解决方法
使用最新的struts2 2.5.5导致404的问题解决方法使用最新的struts2 255导致404的问题解决方法n问题现象n问题原因n解决方法n换包n修改webxml问题现象用最新的struts2.5.5,出现404错误: n问题原因原来用的struts2版本为2.3,改成最新版2.5.5后,2个版本差异导致该问题。解决方法1.换包将书中的struts2最少jar包换成如下9个包:n 此处注意
关于struts2.5 动态方法调用(DMI)出现错误的解决办法
1. 先上代码nn代码结构图如下nnnn2. 展示代码nnWEB-INF/web.xmlnn&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;n&amp;lt;web-app xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns=&quot;http://xmlns.jcp.org/xml/ns/javaee&quot; ...
ssh中action方法不执行导致Dbug无法调试
在开发中遇到不执行action的情况,检查配置无误后,发现页面传递是String类型数据,但是后台接收用了int,所以导致该action方法未执行rnjsp:rnn操作此单 nrnaction:rnprivate int orderId;n rn把int换为String后问题解决 Dbug正常执行。
struts2.5框架使用通配符指定方法(常见错误)
文章参考:https://www.cnblogs.com/gsy52300/p/5778754.html  感谢作者的解惑nn在学习struts框架时经常会使用到通配符调用方法,如下:nnnn其中的action name=&quot;hello_*&quot;中*这个符号代表的值会传入method=“{1}”中,并对应action类的一个方法名,这样就能很大程度地减少配置文档中action的数目,简化配置文档。nn但...
Struts2.5配置动态加载action找不到页面
在配置action之前加上:nregex:.*
Struts2数据校验(1)--通过Action的validate()方法校验
Struts2数据校验rn数据校验分为客户端校验和服务器端校验,客户端校验是指通过JavaScript或jQuery等前端手段,对提交前的数据进行一些格式的校验;服务器校验是指服务器端通过检查客户端的提交信息是否符合要求。这里主要讲解的是服务器端校验。rn在Struts2中服务器端校验有两种方式:通过Action的validate()方法校验和使用XWork检验框架实现校验。rn1.通过Actio
ActionMethod 动态方法调用(DMI)
Action执行的时候并不一定要执行execute方法rn可以在配置文件中配置Action的时候用method=来指定执行哪个方法 也可以在url地址中动态指定(动态方法调用DMI)(推荐)rnrn前者会产生太多的action,所以不推荐使用rn两种方法:rn(1):rn在action里面添加method属性,action执行的类里面写跟method属性一致的方法rnn n
form表单提交 method为get对于action的影响
   &amp;lt;form action=&quot;BaseServlet?method=addStu&quot; method=&quot;get&quot;&amp;gt;n        &amp;lt;input type=&quot;text&quot; name=&quot;username&quot;&amp;gt;n        &amp;lt;input type=&quot;submit&quot; value=&quot;提交&quot;&amp;gt;n    &amp;lt
struts2.5版使用通配符遇到的问题总结
struts2.5版使用通配符遇到的问题总结最新接触到struts,闲来无事,做了个小demo,简单配置如下:index.jsp首页在首页写好跳转的urlstruts.xml配置文件在xml中配好相关配置 n在action类中写好相关方法,启动服务,并在运行好的index.jsp页面点击相关链接。在后台看到如下输出。 n这是一个简单的struts小demo。当然这样子要是完成了也不会写下这篇博客进行
Action配置(动态方法调用、为Action元素指定method属性、通配符映射)
当用到多个提交按钮时,需要多个Action处理或者一个Action中的不同方法时,通过以下三种方式来进行。rnrnrnrnrn1、动态方法调用:rn案例:多个按钮提交rnlogin3.jsp页面:rnnn<%nString path = request.getContextPath();nString basePath = request.getScheme()+"://"+request.get
Struts2-Action接受参数方式、method属性使用及通配符的配置
一、Action接受参数的方式1、属性方式接收n首先编写一个用于上传参数的页面action配置成功跳转的页面action类代码npublic class UserAction extends ActionSupport {n private String userName;// 用户名-必须与页面请求的对应表单name值相同n private String password;// 密码-
struts2.5.16新版本升级
这次struts2版本升级,也是因为要修复安全漏洞CVE-2018-1327。在旧版本升级新版本的过程中,遇到了不少问题,在这里记录一下。struts2.5.16版本下载链接:http://mirrors.hust.edu.cn/apache/struts/2.5.16/struts-2.5.16-all.zipjackson-dataformat-xml-2.1.2.jar下载链接:http:/...
给action增加参数需要设置method为post
给action增加参数pageIndex需要设置 method为postrnrnrn        function goPage(pageIndex){rn            document.forms[0].action="search.action?pageIndex="+pageIndex;rn            document.forms[0].submit();rn    
解决Struts2.5不能使用通配符方式动态方法调用
在struts的配置文件的package标签中加上如下代码:
Struts2:解决不能访问action里面的方法
1.Struts配置文件的action没有配置好:没有定义action;粗细大意每个名字没有写对,所以找不到。nnn2.在nn错误的情况:nnnnnn正确的方式:(两个配置文件改一个配置文件中圈住的name和namespace的命名)nnnnn假如你在一个包下创建了多个Struts配置文件,检查一下是否每个配置文件中下package的name和namespace的命
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 进入大数据平台费用 java学习进入瓶颈