<<实战突击 Java Web 项目整合开发>> ajax函数问题
发表在JavaWeb图书答疑 2012-10-31
是否精华
版块置顶:
我正在学习<<实战突击 Java Web 项目整合开发>> 刚开始看第5章 天下淘网络商城 ,我想把ajax加到项目中去,利用的ajax的prototype-1.6.0.3.js

我想利用ajax监控struts2 编辑框输入值的变化,并实时把监控到的值传递到struts2后台的处理类中
但是我发现后台无法接收到ajax传递过来的参数。

struts2  前台设计页面相关代码:
<s:form action="product_findByName" method="post" namespace="/product">
<div id="sou">
  <s:textfield name="name" id="name" onblur="$('nameTip').hide();">  </s:textfield><br>
  <div id="nameTip" class="tip" style="display:none;"></div> 
</div>
</s:form>

监控编辑框name并向后台传递参数的ajax函数如下:
function searchBrand()
{
//发送请求的服务器URL
//alert("触发searchBrand方法");
var url = 'product_findByName.action';
//生成请求参数
var params = "name=" + $F('name');
//创建Ajax.Request对象,用于发送请求
alert(params);
new Ajax.Request(url, {
method: 'post',
//发送参数
parameters: params,
//指定回调函数。
onComplete: showResponse,
});
}


我在后台ProductAction类中的findByName方法中利用
System.out.println("--------------------------------------获取当前name:"+product.getName());
无法获取到前台ajax传递过来的ajax值,请问怎么获取到呢?


在一般web项目中在后台只需要利用
request.getParameter("name");即可获得该值

后台向ajax前台传递参数值时,只需要如下代码即可:
response.setContentType("text/html;charset=GBK");
PrintWriter out =  response.getWriter();
out.println(result);
其中result 就是后台向前台传递的参数变量


请问在struts2中 后台接收ajax参数和向前台ajax传递参数如何实现呢?谢谢回复。


另外  我想问一下,我发帖子的时候怎么不能上传附件呢?
分享到:
精彩评论 6
无语_mrkj
学分:3155 LV11
2012-10-31
沙发
请问您这个var params = "name=" + $F('name');
代码在运行后,$F('name')有值吗?

另外,论坛中可上传的附件大小不能超过512K。
zhfqld
学分:0 LV1
TA的每日心情
2020-12-12 15:57:29
2012-11-01
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
请问您这个var params = "name=" + $F('name');
代码在运行后,$F('name')有值吗?

另外,论坛中可上传的附件大小不能超过512K。
[/FIELDSET]

回复:
  $F('name')是有值的,
  <s:textfield name="name" id="name" onblur="alert($F('name'));"</s:textfield><br>
alert是可以获取到值得


另外,上传附件的中浏览按钮始终是灰色的
zhfqld
学分:0 LV1
TA的每日心情
2020-12-12 15:57:29
2012-11-02
地板
[FIELDSET][LEGEND]引自:2楼[/LEGEND]
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
请问您这个var params = "name=" + $F('name');
代码在运行后,$F('name')有值吗?

另外,论坛中可上传的附件大小不能超过512K。
[/FIELDSET]

回复:
  $F('name')是有值的,
  <s:textfield name="name" id="name" onblur="alert($F('name'));"</s:textfield><br>
alert是可以获取到值得
===================================================================
怎么没有人回答问题啊?问题的回复频率是不是有点儿慢?盼回复。


另外,上传附件的中浏览按钮始终是灰色的
[/FIELDSET]

回复:
  
无语_mrkj
学分:3155 LV11
2012-11-06
4L
对于我公司出版的图书中的技术问题,我们一般会在5个工作日内进行回复。
另外,如果是我公司图书以外的技术问题我们会有选择的进行回复。
zhfqld
学分:0 LV1
TA的每日心情
2020-12-12 15:57:29
2012-11-07
5L
[FIELDSET][LEGEND]引自:4楼[/LEGEND]
对于我公司出版的图书中的技术问题,我们一般会在5个工作日内进行回复。
另外,如果是我公司图书以外的技术问题我们会有选择的进行回复。
[/FIELDSET]

回复:
  
你好,论坛中的问题凭借您丰富的项目经验可以帮忙分析一下其中的原因吗?谢谢。
无语_mrkj
学分:3155 LV11
2012-11-08
6L
在Action类中为name属性添加对应的setter和getter方法,然后直接调用getName()方法就可以获取到提交的name属性值了。
首页上一页 1 下一页尾页 6 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照