使用了webwork也有3個月了吧.對它的功能也掌握了一些,對它的感覺還是蠻好的,今天我說說,最近出開發(fā)時碰到的一個小問題,不過我現(xiàn)在已解決了,我現(xiàn)在就寫出來.希望對大家有幫助. 我想大家都會碰到這樣一個問題. 如webwork.xml配置文件 <action name=a class="com.text.A"> <result name="success" type="dispathcer"></result> <param name="location">b.action</param> </result> ......... 如果,當執(zhí)行完a.action后,接下來,轉發(fā)到b.action但是b.action必須要一個參數(shù),才能正常執(zhí)行.所以,在a.action中,我們必須設置一個參數(shù),然后讓b.action來接受.但是在a.action中設置參數(shù)用二種情況.1.在b.action想要的參數(shù),恰好a.action中通網(wǎng)頁已設定了,例如在a.jsp中<input name="productId" type="text">在a.aciton中有, public void setProductId(String productId){ this.productId = productId; } 這種情況,我們,可以直接在b.action寫一方法也是 public void setProductId(String productId){ this.productId = productId; } 同a.action一樣的,這樣,就可以把a.action的想要的參數(shù)傳過來了. 2.稍微難搞一點,不過也有解決的辦法.當想要傳遞的參數(shù),并沒有從a.jsp傳到a.action 我們通過這樣的方法 private String param = null; param = "test"; public String getParam(){ return this.param } 而在b.action private String param = null; public void setParam(String param){ this.param = param; } 我原以為這樣可行的,可是,這樣做不行啊,看來,(具體原因,我還不太清楚的,) 以后我用這種方法解決的, 在a.action中 我ActionContext ctx = ActionContext.getContext(); Map httpSession = ctx.getSession(); httpSession.put("param","test"); 然后在b.action中 我ActionContext ctx = ActionContext.getContext(); Map httpSession = ctx.getSession(); String param = (String)httpSession.get("param"); httpSesson.remove(param);//這個session沒有利用價值了,最好刪掉它 這樣做,也能把它傳過來.不過我覺得解決方法不是很好.如有誰有好的解決辦法,請賜教. |
|