struts2 + jquery 开发环境下的ajax构建方法(action写法 + struts.xml配置 + js调用代码)

时间:2023-12-19 17:48:02

1.action写法

public class RegisterAction extends ActionSupport {

    private InputStream inputStream;

    /**
* 方法名随意,在struts.xml中配置好就可以
*/
public String execute() {
  String str; // 想要返回的变量      // 赋值,根据需要自行替换代码即可
  str = "这是个演示";   try {
    inputStream = new ByteArrayInputStream(str.getBytes("UTF-8"));
  } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
    return ERROR;
  }
  return SUCCESS;
}
public InputStream getInputStream() {
return inputStream;
} public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
} }

2.struts.xml配置

<action name="validUsername" class="cyberay.org.rayplus.action.RegisterAction" method="valid">
  <result name="success" type="stream">
    <param name="contentType">text/html</param>
    <param name="inputName">inputStream</param>
  </result>
</action>

3.js调用

首先需要引入相关的jquery文件,例如

<script type="text/javascript" src="js/jquery.1.8.3.min.js"></script>

然后是具体的调用方法

$.get("validUsername.action",$("#registerForm").serializeArray(),
  function(data,statusText){
    alert(data);
  },
"html");

附:get方法的具体介绍可以参考如下资料

$(selector).get(url,data,success(response,status,xhr),dataType)

需要注意的是,具体使用这个方法的时候有多种方式,

比如可以直接把他绑定到某个button的onclick方法上

$("button").click(function(){
  $.get();
});

也可以把他放到一个别的方法里,然后从别处调用

function valid(){
  $.get();
}

或者其他使用方法,随需求自行调用即可。