js如何传值到ACTION中

问题描述

一个数据库的表LampInfo(2个主键id ,no) 对应JAVA中的类名是LampInfo, state为其中一个属性在某HTML(含有JS代码)页面中 ,页面显示了所有LampInfo对象现在要在JS代码中更改lampInfo 某对象的属性state 然后传到ACTION中我用的是在对象旁加衔接:<a href="abc.action?state=1"> 现在在abc.action中能得到值1 ,但是该对象的id 、no怎么通过JS传到java的Action里,让Action知道是那个对象衔接能传吗? 如果用按钮提交传值 ,在ACTION里又该怎么写呢? JAVA WEB是SSH2框架,求教高手·····

解决方案

有两种方法提交,第一种是每条数据后面都加上提交按钮,触发的js函数包含参数是包含该条数据的控件id,如span或者tr,然后根据document.getElementById(spanid).innerHTML得到该条数据,然后把数据解析成与数据表相对应的字段,作为params,用Ajax传回后台进行数据更新。第二种就是整个页面只有一个提交按钮,也就是提交整个页面的数据,当然你可以在每条数据最前面加上一个checkbox,提交的时候只提交checkbox选中的数据,接下来与第一种相同。在对控件的id进行赋值时,简单做法就是用数据的pk作为id。另外,要想在点击提交的时候触发js事件,只需在控件属性里加上onclick=“JavaScript:methon();”即可。
解决方案二:
var lampInfo={id:"xxx",no:"bbb",state:1};lampInfo=JSON.stringify(lampInfo);<a href="abc.action?param="+encodeURIComponent(lampInfo)> 后台:JSONObject json = JSONObject.fromObject(request.getParameter("param"));String id=(String)json.get("id");String no=(String)json.get("no");Integer state=(Integer)json.get("state");前台需要引进json2.js后台需要json-lib.jar不过这2个文件都挺常用的,应该有。
解决方案三:
用Ajax框架就可以实现,把主键值传过去,在action里根据主键查出你要使用的那个对象
解决方案四:
这个问题说白了,就要跟控制层服务器端进行一次交互,而又要不刷新,超链接只能通过传参、请求可以提交数据 button也可以发生一个action.do请求 有一个action元素 、或是放在form里 提交由button完成 用AJAX吧
解决方案五:
Ajax 提交 so easy!参数放在url里也行 去玩放在函数里传输也行在aciton里取都是request.getParameter("key")
解决方案六:
<a href="abc.action?state=1&id=值&no=值">
解决方案七:
隐藏 INPUT 提交 后台获取

时间: 2024-09-06 01:38:50

js如何传值到ACTION中的相关文章

action-struts2页面参数传值到Action中

问题描述 struts2页面参数传值到Action中 关于struts2 页面查询条件封装参数的问题,用单对象封装如User对象,页面中可以写${user.name}但如果查询条件中有User关联的对象的属性怎么办呢? struts2封装页面参数有两种方式,1直接在Action里写所有的参数属性,2最好用实体对象model封装参数信息,所以想用后者,但查询条件不能用一个对象封装完成,那咋办啊? 解决方案 你在User类里面新增属性啊 属性可以随便加的 比如你现在User只有name 和id属性

关于$.post传值到action的乱码问题

问题描述 functionshow(name){$.post('query_tjbysheng.do?name='+name,null,function(date){})}这是我JSP中的代码,name是中文,我现在传值到action中,使用的是Stringsheng=newString(name.getBytes("ISO-8859-1"),"UTF-8");这种转码方法,但是IE8以上不支持,求解~~ 解决方案 解决方案二:用js对name编一下编一下码,在后台

js通过地址栏给action传值(中文乱码全是问号)_javascript技巧

前几天在完成一个ssh框架的项目时遇到一个小问题,情况是这样的. 在action中定义了私有变量,并提供get(),set()方法,js代码中就应该可以访问它.于是我从js代码中通过地址栏传值给了action的相应变量,但是,如果变量值为中文的时候,在action中测试输出则为"???",而浏览器地址栏中仍然能显示中文. 我先根据网上一些解答配置了tomcat的配置文件,未果.后来想想也许不是什么复杂的问题,应该就是编码问题.我的myeclipse和项目的编码都设置为的"UT

struts2中 jsp页面 空文本框传值 及action层不同类型的判断

struts2可以自动转换jsp前台传来的信息格式 前台jsp </pre><pre name="code" class="html"><form action="user_setInfo" method="post"> 名字<input type="text" value="" name="name"/><br/

java action中session传值为空

问题描述 HttpSession httpSession = ServletActionContext.getRequest().getSession();httpSession.setAttribute("userName", member.getMemberName());httpSession.setAttribute("userId", member.getMemberID());httpSession.setAttribute("userAuth

ajax-JS传值到action的值为[object Object]

问题描述 JS传值到action的值为[object Object] JS传值到action用 request.getParameter()获得的值为[object Object] jsp页面传的值为 < type="text" name="BASE_ACCT_NO" size="30" onBlur="Getname();"/> 调取的getname为 var ajax = new AjaxApi('getMes

JS异步传递数组Action接受的实现与疑惑

最近开发中遇到了页面传递数组到Action后台List类型,接受到的list对象并不是想象的按照数组元素位置对应的接受,例如数组的0位置插入到list对象的0位置, 而是数组的全部内容全部插入到了list集合的第一位置.经过反复的试验,没有找到很好的解决办法,只能把这种粗糙的实现方式记录下来,以求抛砖引玉望大家能给出更好的实现方式. 这是jsp页面代码:异步提交数组到Action中: <html> <head> <meta http-equiv="Content-T

js传值中文乱码:js url传值中文乱码之解决之道

因为js url在传值的过程中使用的是js自己默认的字符集编码规则,我们必须把它转成属于我们自己的编码规格-------------在websphere 中使用的是url=encodeURI(encodeURI(url)); //用了2次encodeURI 测试成功,第一次转换没有尝试,处理方法一.js 程序代码:url=encodeURI(url);注意是整个URL服务器端的代码:String linename = new String(request.getParameter("name&q

js解析json读取List中的实体对象示例

 这篇文章主要介绍了js解析json读取List中的实体对象的具体实现,需要的朋友可以参考下 1.由后台action 传给前台是需要将map 转成json格式   代码如下: Map<String, List> resultMap:  JSONObject json = JSONObject.fromObject(resultMap);  message = json.toString();    List中存放多个student对象    2.前台js 中先将结果json串转成对象  复制代