我是Jquery和Struts的新手。 我需要使用Ajax函数将表单数据发送到Struts2动作类。
我的HTML表单元素设置为:
<div class="input-append date" id="from_date">
<input type="text" id="processDate" name="processDate" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
<div>
<input id="submit-date" type="button" class="btn btn-primary" value="Search" />
</div>
我使用的是JQuery脚本:
$('#submit-date').click(function() {
var processDate = $('#processDate').val();
alert(processDate);
$.ajax({
type : "POST",
url : "launchapptest",
data : processDate,
dataType : "json",
success : function(result) {
alert("Success");
}
});
}
Struts.XML文件写成:
<action name="launchapptest" class="com.ge.wd.action.LaunchAppTestAction">
<result type="json">
</result>
</action>
我在Action Class中给出了execute方法:
String processDate;
public String getProcessDate() {
return processDate;
}
public void setProcessDate(String processDate) {
this.processDate = processDate;
}
public String execute() throws Exception {
processDate=getProcessDate();
System.out.println("Process Date : "+processDate);
}
请帮助我,因为如何在动作类中获取此数据。
答案 0 :(得分:6)
感谢您的帮助。但问题已解决,我将代码更改为:
HTML:
<div class="input-append date" id="from_date">
<input type="text" id="processDateForm" name="processDate"/>
<span class="add-on"><i class="icon-th"></i></span>
</div>
<div>
<input id="submit-date" type="button" class="btn btn-primary" value="Search" />
</div>
Jquery:
$('#submit-date').click(function() {
var processDate = $('#processDateForm').val();
alert(processDate);
$.ajax({
/* type : "POST", */
url : "launchapptest",
/* contentType: "application/json; charset=utf-8", */
data : "processDateInput="+processDate,
dataType : "json",
async: true,
success : function(result) {
alert("Success");
}
});
和JAVA代码:
public class LaunchAppTestAction extends ActionSupport {
private static final long serialVersionUID = -367986889632883043L;
//private ProcessDate pd = new ProcessDate();
private String processDateInput=null;
public String getProcessDateInput() {
return processDateInput;
}
public void setProcessDateInput(String processDateInput) {
this.processDateInput = processDateInput;
}
public String execute() throws Exception {
System.out.println("Process Date : "+processDateInput);
return SUCCESS;
}}
struts.xml中
<action name="launchapptest" class="com.ge.wd.action.LaunchAppTestAction">
<result name= "success" type="json">
</result>
</action>
我希望这适用于任何面临同样问题的人:) 再次感谢