1.struts1.1中,actionError與actionMessage只能從配置資源中取key 即:
new ActionError("user.name")從資源中得到key
ActionErrors.add("username",new ActionError("user.name"));
在jsp中使用時 只有這樣才會正確顯示.
前提條件是validate設置為false,input需要設置一下. 我不太喜歡actionForm當中的validate方法,業務邏輯或者是驗證邏輯寫在這里感覺不爽
2.如果不想從properties中取得key,即不想配置,則使用
ActionError("test",false),此處表示不啟用配置資源中的key
這個方法在1.1.之前沒有
3.另摘抄于網絡一文:如下
在Struts里進行表單驗證和業務邏輯驗證真是一個很麻煩的事情,看書、上網了解了ActionMessage與ActionErrors的基本知識,可以拿來書上或網上的例程來試試。錯、錯,又錯,還是有錯,我說是的我的程序結果有錯誤,而不是真的顯示出了驗證錯誤信息。 怎么回事呢?經過一天的不斷測試,成功了... 經驗就是: 在ActionFrom中使用ActionErrors 錯誤信息添加用add(“error_key“,new ActionError(“error.input.name“)) jsp中使用顯示錯誤。 在Actoin中使用ActionMessages 錯誤信息添加使用add(“error_key“,new ActioinMessage(“errors.loginerror“)) jsp中使用來顯示錯誤。不要管id和name中是什么,只要兩者一樣,就會顯示所有的ActionMessages出來 message屬性為true,顯示ActionMessages中所有信息,為false顯示ActionErrors中所有信息
============================================= HTML:MESSAGES,HTML:ERRORS,用法2007-08-12 22:09=================== Action 中 : ActionMessages message = new ActionMessages(); message.add(" 消息句柄 ",new ActionMessage(" 資源文件中 Key 值 ",String 類型描述信息 )); this.addMessages(request,message); return ActionForward; JSP 頁面中 : ======================== Action 中 : ActionMessages message = new ActionMessages(); message.add(" 消息句柄 ",new ActionMessage(" 資源文件中 Key 值 ",String 類型描述信息 )); this.saveErrors(request,message); return ActionForward; JSP 頁面中 : 如果Action中這樣設定(false),頁面的提示信息將不從資源文件里讀取: ActionMessages message = new ActionMessages(); message.add("消息句柄",new ActionMessage("String類型描述信息",false)); this.saveErrors(request,message); return ActionForward; JSP頁面: 或
posted on 2009-08-01 11:02
水煮三國 閱讀(1964)
評論(0) 編輯 收藏