? 對于C/S模式下的對話框彈出問題就不說了,這里只討論B/S模式下的實現.
? 開發環境是:struts+hiberinate+spring
??遇到的問題是在JSP頁面新增成功后彈出新增成功的提示對話框.
? 剛開始覺得在JAVA中很不容易實現,因為以前寫C#時習慣了一種寫法:Response.Write("<script>alert('say what you want to say');</script>");但在JAVA中我卻不知道在action中去怎么寫出這樣的代碼了.為此感覺不好做,但又不得不做,所以就只有想另外一種辦法了.問題是解決了,但總感覺有些郁悶,為什么不可以更簡單的實現呢?
??? 下面是我實現的過程.JSP頁面加了一個<html:hidden property="propertyName" />,然后就是新增操作的action對應的form的后臺代碼中加了變量propertyName和與此對應的getter和setter屬性,這樣在action中當新增成功后就通過form中的setter屬性對字段賦值.然后通過腳本來取得JSP頁面上的隱藏控件(<html:didden/>)的value.這樣做判斷就可以實現了.
? 也不知道大家都有什么好的方法,希望貼出來學習一下.
???下邊是部分代碼:
???action部分代碼:
???? public ActionForward sumbit(ActionMapping mapping,
??????....
????? if (isAdd) {
??????? bookVhlForm.setBookNo(bookNo);
??????? bookVhlForm.reset(mapping,request);
??????? this.saveErrors(request, errors);
??????? return mapping.findForward("bookVehicle");
????? }
??????...
???????return mapping.findForward("bookVehicle");
?????}
???actionForm部分代碼:
??????package com.portal.web.vehicleManage.form
?????????import org.apache.struts.action.*;
?????????import javax.servlet.http.*;
?????????public class BookVhlForm??? extends ActionForm {
?????????...
?????????private String bookNo;
?????????....
?????????public String getBookNo() {
?????????????return bookNo;
????????}
????????public void setBookNo(String bookNo) {
????????? this.bookNo = bookNo;
??????? }
???JSP腳本:
??????function bookNo(){
??????????var bookNo=document.all("bookNo").value;?
??????????if(bookNo!=""){?
????????????alert("您的預約登記已申請成功,預約登記號為:"+ bookNo);?
??????????} else{?
????????????alert("do the operate which you want!");
???????????}?
?????????}
posted on 2006-07-28 16:27
Lazy dog 閱讀(15153)
評論(9) 編輯 收藏 所屬分類:
Some Other