JAVA調(diào)用ABAP函數(shù)時要對系統(tǒng)有一些配置,這樣才能正常讀取ABAP函數(shù)所返回的值.
其次就是還要在JAVA的工程中添加sapjar的包.這樣配置之后才可以訪問到SAP.
? 對于C/S模式下的對話框彈出問題就不說了,這里只討論B/S模式下的實現(xiàn).
? 開發(fā)環(huán)境是:struts+hiberinate+spring
??遇到的問題是在JSP頁面新增成功后彈出新增成功的提示對話框.
? 剛開始覺得在JAVA中很不容易實現(xiàn),因為以前寫C#時習(xí)慣了一種寫法:Response.Write("<script>alert('say what you want to say');</script>");但在JAVA中我卻不知道在action中去怎么寫出這樣的代碼了.為此感覺不好做,但又不得不做,所以就只有想另外一種辦法了.問題是解決了,但總感覺有些郁悶,為什么不可以更簡單的實現(xiàn)呢?
??? 下面是我實現(xiàn)的過程.JSP頁面加了一個<html:hidden property="propertyName" />,然后就是新增操作的action對應(yīng)的form的后臺代碼中加了變量propertyName和與此對應(yīng)的getter和setter屬性,這樣在action中當(dāng)新增成功后就通過form中的setter屬性對字段賦值.然后通過腳本來取得JSP頁面上的隱藏控件(<html:didden/>)的value.這樣做判斷就可以實現(xiàn)了.
? 也不知道大家都有什么好的方法,希望貼出來學(xué)習(xí)一下.
???下邊是部分代碼:
???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("您的預(yù)約登記已申請成功,預(yù)約登記號為:"+ bookNo);?
??????????} else{?
????????????alert("do the operate which you want!");
???????????}?
?????????}
?????????改做JAVA一個多月了,手上的一個小項目基本上做完了,在這一個多月的時間里確實學(xué)到了不少東西,對JAVA以及編程的思維方式都有了一些新的認(rèn)識,寫下來,和大家一起分享和討論.
?????????Programming to an interface,not an implementation,想必這句話大家在網(wǎng)上,或是書上都不止見過一次兩次了,但不知道大家有沒有認(rèn)真思考過它的意思及它在我們編寫代碼的過程中所起到的作用.
??????? 簡單來說也就是程序要針對接口而不是實現(xiàn),也就是在程序設(shè)計的時候設(shè)計好程序的接口,對于實現(xiàn)可以不在急于求成,這樣接口做出來之后,對于其它模塊的調(diào)用都是很方便的了,因為別人不用去管你這個接口所要實現(xiàn)的方法有沒有完成,這樣對編程設(shè)計工作就有很大的幫助,可以提高開發(fā)速度,實現(xiàn)在接口技術(shù)也有利于以后程序的維護.特別是很有利于單元測試.
??????? 也許起初你體會不到它的好處,但通過一段時間的使用和了解后,你將會發(fā)現(xiàn)接口編程的優(yōu)勢了.為了能和大家更好的交流,也便于大家了解,在接下來的隨筆中,我會把工作過程中的例子發(fā)出來和大家一起討論接口編程的優(yōu)勢和使用技巧的.