struts2的action中为什么获取不到 request.getParamter()中的值

问题描述

方法执行没有问题,只是request.getParamter或者request.getAttribute都取不到值,在后台输出了一下,发现为null。说明前台的request根本没有传递到后台去,我百度了很多,说可能要用上拦截器,弄了好久都不成功,没有办法,只能求助广大网友了!先贴一下局部的代码吧struts.xml<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""http://struts.apache.org/dtds/struts-2.1.dtd"><struts><constantname="struts.devMode"value="true"/><packagename="struts2.acion"extends="struts-default"><actionname="region"class="admin.Region"></action><actionname="admin_*"class="admin.Admin"method="{1}"><result>/Admin/RegionShow.jsp</result></action></package></struts>action中的调用的是这个方法publicStringdelRegion()throwsMyException{System.out.println("para1="+para1);System.out.println("ab="+ServletActionContext.getRequest().getAttribute("ab"));try{System.out.println("sh_type="+ServletActionContext.getRequest().getParameter("sh_type"));region.delRe(para1);//实现删除功能,无措System.out.println("sh_type="+ServletActionContext.getRequest().getParameter("sh_type"));}catch(MyExceptione){e.TraceError();throwe;}return"success";}前台代码:<%intparasum=2;Stringstrsql="SELECTre_type,idFROMtbl_regionwheresh_type="+request.getParameter("sh_type");//在这里是值的%><s:formtheme="simple"action="admin_delRegion"onsubmit="sb()"><divalign="center"class="buttonDiv"><inputtype="button"value="全选"onClick="sltAll()"name="all"><inputtype="button"id="dele"value="清空"onClick="sltNull(this)"name="clear"><inputtype="submit"value="删除"id="delete"name="delete"></div><inputtype="hidden"id="para1"name="para1"value=""></s:form>

解决方案

解决方案二:
action类要设置get、set方法吧,不然人家怎么帮你转?
解决方案三:
你的form表单中没有name为sh_type的输入框吧,当然取不到了
解决方案四:
你什么方式提交的?
解决方案五:
首先看你的form表单里面没有name为“sh_type”的对象,其次,如果你用了Struts2,就不要再用getParamter()了。不然你这样取值,跟servlet没有区别。完全没有用到Struts2的功能。
解决方案六:
楼上正解!!
解决方案七:
引用3楼rui888的回复:

你什么方式提交的?

有设置,没贴出来,4楼解决了我的问题
解决方案八:
引用4楼xiangnan129的回复:

首先看你的form表单里面没有name为“sh_type”的对象,其次,如果你用了Struts2,就不要再用getParamter()了。不然你这样取值,跟servlet没有区别。完全没有用到Struts2的功能。

确实是你说的这样子,那对于struts2来说,想要传参的话,使用get/set是最好的选择吗?
解决方案九:
一般都用get/set就行了,如果非要要equest这样的方式取值,需要实现ServletRequestAware这个接口,好像还有其它的方法,记不得了,可以去网上查查
解决方案十:
从action跳到对应的jsp。所以首先action中要有sh_type,然后在jsp页面中用<s:debug>调试值传到哪里,然后取出来
解决方案十一:
同意2楼说法引用2楼longtian1213的回复:

你的form表单中没有name为sh_type的输入框吧,当然取不到了

引用9楼u011385186的回复:

从action跳到对应的jsp。所以首先action中要有sh_type,然后在jsp页面中用<s:debug>调试值传到哪里,然后取出来

好吧我看错了,从jsp页面转到action只要input名字和action中的属性值相同就行。struts自动帮你注入,就能取出来。
解决方案十二:
直接放在对象里,getset然后就可以直接取出了
解决方案十三:
ab这个参数是从哪传到Action的,我ctrl+f查找ab只看到你在Action中取,没见到你在哪存,这样是可以取到的,不过不推荐这样做,struts有自带的method拦截器,你直接在Action中定义一个全局变量,publicStringab;这样如果有ab参数传过来,在方法中这个全局变量就可以直接接收到参数值了。
解决方案十四:
你这个是最原始的MVC操作吧,通过request跟getParameter从前台传值到servlet你可以不用form表单提交,直接用href传值跳转到后台如果你用form的话,就用get,set方法,在后台取出来。前提是你在前台提交的时间,form中含有你要传的值

时间: 2024-09-20 09:43:40

struts2的action中为什么获取不到 request.getParamter()中的值的相关文章

checkbox-action中如何获取jsp页面append出来的标签值?

问题描述 action中如何获取jsp页面append出来的标签值? if($(""#byUserId"").is("":checked"")){ $.post(""message_findUserName""{userId:$(""#userId"").val()}function(data){ for(var i =0;i $("&q

html5-HTML5中如何获取浏览器屏幕高度并使用这个值

问题描述 HTML5中如何获取浏览器屏幕高度并使用这个值 我在用HTML5做手机网页时,需要对不同尺寸的屏幕大小获取屏幕的高度和宽度并使用这个值, 宽度的话,用viewport解决了,高度不知道怎么解决.在线等 解决方案 屏幕变化即可触发 resize事件 每次变化用window.innerHeight. 解决方案二: 用以下代码开头:<!DOCTYPE HTML><html><head><meta charset=""utf-8"&

关于如何在listview监听器中如何获取所点击那部分的值

问题描述 关于如何在listview监听器中如何获取所点击那部分的值 我在listview绑定了三个textview, 我想在我点击listview的时候把我点击的项中,取得它里面的其中一个textview的值, 然后传递到另一个activity 我的监听器代码如下 OnItemClickListener listener =new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, Vi

教你在Java的普通类中轻松获取Session以及request中保存的值

  曾经有多少人因为不知如何在业务类中获取自己在Action或页面上保存在Session中值,当然也包括我,但是本人已经学到一种办法可以解决这个问题,来分享下,希望对你有多多少少的帮助!   如何在Java的普通类中获取Session以及request对象 详细回答请见:http://www.zhangriguang.cn/blog/20121010123838.html

IE6/7中getAttribute获取href/src 属性(相对路径0值与其它浏览器不同_javascript技巧

测试代码如下: home [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 有元素a和img(标准文档模式),设置了相对路径.各浏览器效果如下 IE6/7:返回完整路径 IE8/9/10/Firefox/Safari/Chrome/Opera:返回相对路径 IE6/7中想要与其它浏览器保持一致的话,可以给getAttribute的第二个参数设为2. home [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 标准的getAttribute方法是没有定义第二个参数的,神奇的IE

servletconfig-在action中如何获取ServletConfig

问题描述 在action中如何获取ServletConfig HttpServletRequest request=ServletActionContext.getRequest(); HttpServletResponse response=ServletActionContext.getResponse(); SmartUpload smartUpload=new SmartUpload(); try { //当执行到下面这句时程序就跳异常 smartUpload.initialize(Se

actionform获取值-java中actionForm获取值得问题

问题描述 java中actionForm获取值得问题 java中actionForm获取值得问题 web开发中继承原始的actionForm类后,actionForm中的属性是如何获取页面传递的值 解决方案 第一次发帖都没人来回答,还是自己结贴吧

怎样获取jquery ui dialog confirm 中的返回值

问题描述 我用的是iframe框加,把jqueryui的js都是调用在父级页面的.父级页面的函数://confirm对话框functionconfirm_dialog(main,title,a){vara='';jQuery('#dialog').text(main);jQuery("#dialog").dialog({resizable:false,height:140,modal:true,title:title,buttons:{"取消":function()

在 .net 中 如何 获取 select count (*) from 表 的 值呢?

问题描述 在.net中如何获取selectcount(*)from表的值呢?就是selectcount(*)from表比如获得的数值是5我想把这个5赋给一个变量astringsqltxt="selectcount(*)fromem.T_COMM_CUSTOMER":OleDbConnectioncon=newOleDbConnection(ConnectionDB2String);con.Open();OleDbCommandcmd=newOleDbCommand(sqltxt,con