java struts2 jquery 在jquery中,怎么可以获取action中的值,具体看下面
private String name;的属性,已经封装好。
然后我使用ajax来请求该action。但是,我该怎么做才能够获取到那个action中的name呢??
求大神赐教!!
求具体一点,最好有一个简单的demo 展开
struts.xml:
<action name="ajaxAction" class="xxxxxx.xxx.xxxAction" method="xxx"> <result name="success" type="json"></result></action>
页面:
$.ajax({ type: "post", url: "ajaxAction.action", processData:true, data: {"后台接受名":页面数据}, success: function(data){ //data是后台传到前台的数据,data.name获得数据 }, error:function(XMLHttpRequest){alert("获取数据失败!")} });
页面上在success的function里面data.name就能获取到
好像不行的。。启动服务的时候就出错了
启动报错?报什么错啊,是不是struts配置写错了?
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class StrutsAction extends ActionSupport {
private String name;
/**
* Struts2中的action方法,怎么请求这个action就不用我多说了吧
*/
public String execute() throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
setName("Stale331x");
out.print(name);
return null;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
// 上面的代码是后台
//下面的代码是前台
//url 为请求的url,可以查询jQueryApI
jQuery.post(url, "", function(data){
alert(data);// data里面弹出的就是后台的name
}, "text");
能否不用PrintWriter??
可以不用,但需要添加一个jsp页面
将下面的代码
public String execute() throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
setName("Stale331x");
out.print(name);
return null;
}
更改为
public String execute() throws Exception {
setName("Stale331x");
return Action.SUCCESS;
}
success跳转到的页面就是新增的jsp页面
在新增的jsp页面中只写入
${name}
ajax请求的时候就直接${name}应该就可以了。。。如果你后台确实封装好了,那么上面的set都没必要写
或者 ajax 请求时 返回过来的 数据转换成json 从中获取name的值 在或者把name的值 存在session里面 在到页面中取出来
2013-12-30
能具体点么??