最近研究了strust2和ajax结合实现方法
先看一下页面①
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.01 Transitional//EN">
<html>
<head>
<%@ include file="noCache.jsp"%>
<link rel="stylesheet" type="text/css" href="css/content.css">
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<style type="text/css">
.tipclass{
width: 150px;
height:30px;
}
</style>
<script type="text/javascript">
function xiugaitextidone(num) {
if(confirm("确认修改吗?")){
if("报告号可用"==$("#tip").html()){
document.pageForm.submit();
setTimeout("doClose()","500");
}else{
alert("报告号已存在");
}
}
}
function doClose(){
window.returnValue = 1;
window.close();
}
function funcheck(){
$.ajax({
type : 'post',
url : 'FunctionsAction_checkTextid',
dataType:'json',
data : {
"text_id":$("#textid").val(),
"sample_number":$("#samplenumber").val()
},
success : function(data) {
if("报告号已存在"==data.str){
$("#tip").html("<span ><img src='"+$("#path").val()+"/p_w_picpaths/onError.gif' />"+data.str+"</span>");
}else{
$("#tip").html(data.str);
}
},
error:function(){
alert("错误");
}
});
}
</script>
</head>
<base target="iframe1"/>
<body>
<input value="${pageContext.request.contextPath}" id="path" type="hidden">
<iframe name="iframe1" style="display:none"></iframe>
<div id="biaoti" class="tbtitle01">
<b>修改报告号</b>
</div>
<div class="space_h_10"></div>
<s:form action="FunctionsAction_updatetextid"
name="pageForm" method="post">
<table width="100%" border="0" cellpadding="6" cellspacing="0"
class="tb_list1">
<tr>
<th>样品号</th><td><s:property value="s.sample_number" /><input type="hidden" name="s.sample_number" id="samplenumber" value="${s.sample_number }"/></td>
</tr>
<tr><th>报告号</th><td><input name="s.text_id" id="textid" value="${ s.text_id}" οnblur="funcheck()" /><div id="tip" class="tipclass"></div></td></tr>
<tr><th>样品名称</th><td><s:property value="s.x_prodnm" /></td></tr>
<tr><th>委托单位</th><td><s:property value="s.x_orgname" /></td></tr>
<tr>
<td colspan="4">
<input type="button" value="修改" οnclick="xiugaitextidone('<s:property value="s.sample_number" />')" />
<!-- <input type="button" value="关闭" οnclick="doClose()"/> -->
</td>
</tr>
</table>
</s:form>
</body>
<c:if test="${msg ne null }">
<script>
alert('${msg}');
</script>
</c:if>
</html>
再看一下页面②
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.01 Transitional//EN">
<html>
<head>
<%@ include file="noCache.jsp"%>
<link rel="stylesheet" type="text/css" href="css/content.css">
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript">
function xiugaitextid(num){
var returnValue = window.showModalDialog("FunctionsAction_selectTextidOne?num="+num+"&date="+new Date(),
"detail","dialogHeight=450px;dialogWidth=600px;resizable=yes");
if(returnValue=="1"){
// window.location.reload();
var sample_number=$("#sample_number").val();
var text_id=$("#text_id").val();
var page = pageForm.page.value;
var pageSize = pageForm.pageSize.value;
var url = "FunctionsAction_selectSampleBySamplenumberOrTextid?"+
"sample_number="+sample_number+"&text_id="+text_id+"&page="+page+"&pageSize="+pageSize+"&fromPage=true";
window.location.href=url;
}
}
function toUpperCase(obj){
var val = $(obj).val();
$(obj).attr("value",val.toUpperCase());
}
$(document).ready(function(){
$("#sample_number").focus();
})
</script>
</head>
<body>
<div id="biaoti" class="tbtitle01">
<b>修改报告号</b>
</div>
<div class="space_h_10"></div>
<s:form action="FunctionsAction_selectSampleBySamplenumberOrTextid" name="pageForm" method="post">
样品号:<s:textfield name="s.sample_number" id="sample_number"></s:textfield>
报告号:<s:textfield name="s.text_id" id="text_id" οnkeyup="toUpperCase(this)"></s:textfield>
<s:submit value="查询"></s:submit>
<table width="100%" border="0" cellpadding="6" cellspacing="0"
class="tb_list1">
<tr>
<th>序号</th>
<th>样品号</th>
<th>报告号</th>
<th>样品名称</th>
<th>委托单位</th>
<th>操作</th>
</tr>
<s:iterator value="samplelist" status="i">
<tr>
<td><s:property value="#i.index+1" /></td>
<td><s:property value="sample_number" /></td>
<td><s:property value="text_id" /></td>
<td><s:property value="x_prodnm" /></td>
<td><s:property value="x_orgname" /></td>
<td><input type="button" value="修改" οnclick="xiugaitextid('<s:property value="sample_number" />')"/> </td>
</tr>
</s:iterator>
</table>
${page }
</s:form>
</body>
</html>
最后看一下后台
public String checkTextid() {
response.setContentType("text/html;charset=UTF-8");
String text_id = request.getParameter("text_id");
String sample_number = request.getParameter("sample_number");
Sample sampleall = this.sampleService.getSampleOne(
Integer.parseInt(sample_number), Department.ALL);
int i = 0;
i = this.sampleService.selectByText_id(text_id,
Department.getDepartmentFromSample(sampleall));
String data;
if (i > 0) {
data = "{'str':'报告号已存在'}";
} else {
data = "{'str':'报告号可用'}";
}
try {
PrintWriter out = response.getWriter();
out.print(JSONObject.fromObject(data));
out.flush();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
说明:后台使用的是json方式,jar包在后面附件里
转载于:https://blog.51cto.com/houqida/1600926