1.請求頁面的JS,客戶端實現
<script type="text/javascript">
var flagvalue=0;
var rest="";
var resta="";
//實現AJAX驗證
var http_request = false;
var infoForm_flag=false;
var lotId="";
function Save()
{
var infoForm=document.projectSetForm;
infoForm_flag=infoForm;
lotId=infoForm.lotId.value;
//表名稱
var dc = infoForm.tablename.value;
if(dc==""||dc==null){
alert("表名稱不能為空!");
infoForm.tablename.focus();
infoForm.tablename.select();
return false;
}
function send_request(url)
{//初始化、指定處理函數、發送請求的函數
http_request = false;
//開始初始化XMLHttpRequest對象
if(window.XMLHttpRequest)
{ //Mozilla 瀏覽器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType)
{//設置MiME類別
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject)
{ // IE瀏覽器
try
{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
}
}
}
if (!http_request) { // 異常,創建對象實例失敗
window.alert("不能創建XMLHttpRequest對象實例.");
return false;
}
http_request.onreadystatechange = processRequest;
// 確定發送請求的方式和URL以及是否同步執行下段代碼
http_request.open("GET", url, true);
http_request.send(null);
}
//處理返回信息的函數
function processRequest()
{
if (http_request.readyState == 4)
{
//判斷對象狀態
if (http_request.status == 200)
{
//信息已經成功返回,開始處理信息
var str=http_request.responseText;//獲得從服務器返回的文本信息
if(str=="no")
{
alert("您選擇了模型分屬不同的模板,請選擇同一模板對應是模型!");
//return false;
infoForm_flag.action="projectSet.do?do=add&lotId="+lotId;
infoForm_flag.submit();
}
else
{
infoForm_flag.action="projectSet.do?do=creattable&save=-1";
infoForm_flag.submit();
}
} else
{
//頁面不正常
alert("您所請求的頁面有異常。");
}
}
}
function userCheck()
{
send_request('projectSet.do?do=check&rest='+rest);
}
</script>
2.ProjectSetAction.java
package com.gpdi.softevaluate.action;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ProjectSetAction extends DispatchAction
{
/**
* <p>模板驗證</p>
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward check(ActionMapping mapping, ActionForm
form,HttpServletRequest request, HttpServletResponse response)throws
Exception
{
String rest="";
String lotId="";
String retn="";
String flag="";
CommDaoFactory mgObj = new CommDaoFactory();
try
{
rest=request.getParameter("rest");
lotId=request.getParameter("lotId");
}
catch(Exception e)
{
}
if(!rest.equals("0")||!rest.equals("")||rest!=null)
{
flag="no";
}
else
{
flag="ok";
}
PrintWriter out=response.getWriter();
//服務器返回信息
out.write(flag);
out.close();
//讀取本Action所有的請求參數,將path重新構造,加上請求參數
//ActionForward forward= new ActionForward("project/projectSet.do?do=add&lotId=6");
//forward.setRedirect(true);
//傳參數后返回
//return forward;
return mapping.findForward(null);
}
public
ActionForward creattable(ActionMapping mapping, ActionForm
form,HttpServletRequest request, HttpServletResponse response)throws
Exception
{
//實現功能代碼
return mapping.findForward("create");
}
}
3.struts.config.xml
<action attribute="projectSetForm" name="projectSetForm"
parameter="do" path="/project/projectSet" scope="request"
type="com.gpdi.softevaluate.action.ProjectSetAction" validate="false">
<forward name="list" path="/project/viewProject.jsp" />
<forward name="add" path="/project/addProject.jsp" />
<forward name="create" path="/project/createTable.jsp" />
</action>