<script type="text/javascript" src="<%=path%>/js/jquery.js">
</script>
<script type="text/javascript" src="<%=path%>/js/jquery.form.js">
</script>
</head>
<body>
<h3>
struts2,jquery ajaxForm插件的使用--验证后提交
</h3>
<form id="myForm" action=""
method="post">
名称:
<input type="text" name="customer.name" id="name" value="" />
<br />
地址:
<input type="text" name="customer.address" id="address" value="" />
<br />
自我介绍:
<textarea name="customer.comment" id="comment" ></textarea>
<br />
<input type="submit" id="test" value="提交" /><br />
<input type="submit" onclick="btn()" value="提交2" />
<br />
<input type="button" onclick="sub()" value="提交Ajax" />
<br />
<div id="output1"></div>
</form>
<script type="text/javascript">
function sub() {
var name = $("#name").attr("value");
//var name=document.getElementById("name").value;
alert(name);
$.ajax( {
url : "<%=path%>/test/test!submitt.action?customer.name=" + name,
cache : false,
success : function(json) {
alert(json.name);
}
});
}
<%--
demo1
$(document).ready(function() {
$('#myForm').ajaxForm( {
// 声明 服务器返回数据的类型.
dataType : 'json',
success : processJson
});
});--%>
<%---
demo2
$(document).ready(function() {
$('#myForm').ajaxForm(options);
});
var options={
url:"<%=path%>/test/test!submitt.action",
dataType : 'json',
success : processJson
};
--%>
function btn1(){
$('#myForm').submit(function(){
$(this).ajaxSubmit(options);
return false;
});
}
function btn2(){
$('#myForm').ajaxForm(options);
}
function btn(){
$('#myForm').ajaxForm({
url:"<%=path%>/test/test!submitt.action",
dataType : 'json',
success : processJson
});
}
var options={
url:"<%=path%>/test/test!submitt.action",
dataType : 'json',
success : processJson
};
function processJson(json) {
// 'data'是一个json对象,从服务器返回的.
alert(json.name+"成功了");
}
alert("sdf");
</script>
</body>
</html>
下面是PO
package po;
public class Customer {
private String name;
private String address;
private String comment;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
}
下面是Action
package test;
import po.Customer;
import com.opensymphony.xwork2.ActionSupport;
public class CustomerAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private Customer customer = new Customer();
public String init() {
return "init";
}
public String submitt() {
System.out.println(customer.getName());
System.out.println(customer.getAddress());
System.out.println(customer.getComment());
return "checkPerson";
}
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
}
最后是struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="test" namespace="/test" extends="struts-default,json-default">
<action name="test" class="test.CustomerAction" method="init">
<result name="init">/index.jsp</result>
<result name="add">/ok.jsp</result>
<result name="checkPerson" type="json">
<param name="root">customer</param>
</result>
</action>
</package>
</struts>
分享到:
相关推荐
结合以上内容,我们可以看到Struts2和AjaxForm的集成使得Web应用在处理表单数据时更加高效,同时jQuery和validate插件的使用则确保了表单数据的质量,提供了更好的用户体验。在实际开发中,这样的组合可以大大提高...
在这个例子中,我们使用jQuery的Ajax函数与Struts2进行交互。jQuery的$.ajax()方法可以创建一个Ajax请求,其参数包括URL、请求类型(GET或POST)、数据、回调函数等。例如: ```javascript $.ajax({ url: "action...
5. **提交表单**:当所有验证都通过后,可以使用jQuery的submit事件来监听表单的提交。在提交事件处理函数中,可以再次调用formValidator的validate方法确保数据有效,然后使用Ajax提交表单,这样可以实现无刷新的...
- **Ajax请求**:使用jQuery的`$.ajax`或`$.getJSON`发起异步请求到Struts2 Action,处理响应数据。 - **Struts2标签与jQuery**:虽然jQuery主要处理DOM操作,但也可以配合Struts2标签一起工作,例如动态生成表单...
通过运行这个Demo,你可以看到jQuery与Struts2整合的实际效果,如Ajax提交表单、动态更新页面等。 总之,jQuery与Struts2的整合使得前端交互更为便捷,同时保持了Struts2的MVC架构和强大的后端控制能力。在实际开发...
在使用jQuery Form插件时,如果表单中有Struts的标签,如`<s:form>`,需要确保这些标签正确设置了`action`属性,指向服务器端处理请求的Action。 ### 结论 jQuery Form插件极大地简化了异步表单提交的过程,使...
"Struts2+jQuery+Ajax实现头像上传切割图片"是一个典型的Web开发技术组合,它结合了Struts2作为后端MVC框架,jQuery作为前端JavaScript库,以及Ajax进行异步数据传输,来提供流畅的图片上传和裁剪功能。以下将详细...
1. **Struts2的Ajax支持**:Struts2提供了一个名为`struts2-jquery-plugin`或`struts2-ajax-plugin`的插件来支持Ajax请求。这个插件允许开发者使用简单的标签在JSP页面中创建Ajax请求,并与服务器进行通信。例如,`...
在本文中,我们将深入探讨如何使用Struts2框架与jquery.form.js插件来实现图片和文件的异步上传。这是一个常见的需求,特别是在构建交互性强的Web应用时,用户需要能够方便快捷地上传文件,如图片。 首先,让我们...
2. **jQuery插件**:可以使用像`jQuery Form Plugin`这样的插件,它支持异步文件上传,并能处理上传进度和错误信息。配置插件以监听文件选择和提交事件,使用Ajax提交表单。 3. **Struts2 Action配置**:定义一个...
3. **配置文件**:Struts2使用XML配置文件(如`struts.xml`)来定义Action、结果类型、拦截器栈等。这些配置可以指定Action的执行逻辑,比如哪个方法对应哪个HTTP请求,以及Action执行后如何跳转到相应的视图。 4. ...
1. **使用Struts2的内置Ajax插件**:Struts2提供了一个名为Struts2 jQuery插件或Struts2 AJAX插件,它们提供了许多预定义的Ajax行为和标签,如`<s:ajax>`,可以直接在JSP页面中使用,简化Ajax的实现。例如: ```jsp...
jQuery AjaxForm插件让表单的Ajax提交变得异常简单,无需每次提交后进行页面跳转,极大地改善了用户体验。此外,它还支持多种事件绑定,便于开发者监控表单提交的不同阶段,实现更精细的控制。 #### jQuery ...
在本例中,我们使用了`ajaxfileupload.js`,这是一个jQuery插件,它扩展了jQuery的Ajax功能,支持文件上传。以下是如何在HTML页面中使用这个插件的示例: ```html <!DOCTYPE html> <script src="jquery.min.js">...
- 使用`struts2-jquery-plugin`或`struts2-dojo-plugin`等插件可以更轻松地集成JavaScript库。 8. **性能优化**: - 使用 strut2-convention-plugin 可以减少XML配置,提高开发效率。 - 缓存配置和结果页面的...
以上是Struts2使用注解实现上传下载功能的基本步骤和涉及的关键点。注意,实际项目中需要考虑错误处理、安全措施(如限制文件类型和大小)、以及性能优化。确保对上传的文件进行验证,避免恶意文件的上传,同时,...
- **Struts2与Ajax整合**:Struts2提供了Ajax插件,使得与jQuery或其他Ajax库的集成更加方便。通过XMLHttpRequest发送请求,获取服务器响应,并动态更新DOM。 4. **视图层实现**: - **JSP和Struts2标签库**:在...