struts2中如何在jsp页面中用js取得action中传过来的值?

2024-11-03 16:16:08
推荐回答(5个)
回答1:

使用ajax发起异步请求将数据传递给action即可

js代码如下:


    $(document).ready(function(){
            //按钮点击事件

            $("#btn").click(function(){
                    //发起异步请求

                    //参数一:请求的地址;参数二:传递的参数;参数三:回调函数,接收服务器回传的数据

                    $.post("user.action",{"name":$("#uname").val()},function(data){
                            //显示异步回传的数据
                            if(data=="ok"){
                                alert("成功");
                            }else{
                                alert("失败");
                            }

                    });

            });

    });

java代码如下:
public class UserAction extends ActionSupport{
    private String name; //接收客户端传递的数据
    private InputStream inputStream;  //响应客户端数据的流对象
    //处理请求的方法
    public String execute(){
        String result="no";
        if(name.equals("admin")){
            result="ok";
        }
        inputStream=new ByteArrayInputStream(result.getBytes());
        
        return SUCCESS;
    }
    
    public String getName(){
        return name;
    }
    public void setName(String name){
        this.name=name;
    }
    public InputStream getInputStream(){
        return inputStream;
    }
    public void setInputStream setInputStream(InputStream inputStream){
        this.inputStream=inputStream;
    }
}
struts.xml中关键代码:

    
        
            inputStream
        
    

回答2:

我只知道用JSON插件传递数据。不知道你说的这样能否在js端接收到msg的数据。我自己没有试过。

回答3:

很多种,保存在requset,session,application中都行的,一般都是session;
requset.getSession.setAttrubute("msg",msg);

然后在jsp页面
<% Stirng msg = session.getAttribute("msg") %>

回答4:

用EL表达式。在action中,request.setAttribute("msg","插入成功");感觉不需要用get set 吧。
alert('${msg}');

回答5:

js的函数写个参数,然后再jsp中调用