日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

引入struts html标签,【学习】Struts标签之html标签

發布時間:2023/12/1 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 引入struts html标签,【学习】Struts标签之html标签 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

html:multibox

html:multibox標簽生成多個checkbox。當您要使用大量的checkbox時使用這個標簽非常方便,可以使您避免在ActionForm中聲明大量的boolean類型的變量,帶之以一個數組就行了。

注意:為了正確的處理沒有選中的checkbox您必須在reset()中設置數組的長度為0。

下面的代碼示例了html:multibox標簽的一般用法,如果被提交則選中的所有checkbox的value值將被提交到multiboxForm中的selectedItems中,這是一個String[]數組。

下面的代碼示例了html:multibox標簽的典型用法:

html:link

html:link標簽生成一個錨點()元素。我從html:link標簽如何構造基本url和如何構造query參數兩個方面來介紹這個標簽。

構造基本url是依據該標簽的如下四個屬性進行的,這四個屬性一次只能出現一個。讓我們看看它們:?forward,指定一個全局ActionForward的名稱。另外如果forward是module相關的則該forward必須指向一個action而不能是一個頁面。?action,指定一個Action的名稱。?href,struts會直接使用這個值而不會對其進行任何處理。?page,指定一個頁面的路徑,必須以/開始。?構造query參數,下面列舉了可能的形式,其中baseurl只是一個占位符:?baseurl?p=00001(單參單值)?baseurl?p1=00001&p2=00002&p3=00003(多參單值)?baseurl?p=00001&p=00002&p=00003(單參多值)?baseurl?p1=00001&p2=00002&p=00001&p=00002&p=00003(混合)?下面我們以代碼示例來說明每一種html:link的用法,首先讓我們花點時間看看相關action中的代碼:

public?ActionForward?execute(ActionMapping?mapping,ActionForm?form,

HttpServletRequest?request,HttpServletResponse?response)?{

DataForm?dataForm?=?(DataForm)?form;

dataForm.setParam("00001");

HashMap?paramSingleMap?=?new?HashMap();

paramSingleMap.put("p1","00001");

paramSingleMap.put("p2","00002");

paramSingleMap.put("p3","00003");

dataForm.setParamSingleMap(paramSingleMap);

HashMap?paramMultiMap?=?new?HashMap();

paramMultiMap.put("p",new?String[]{"00001","00002","00003"});

dataForm.setParamMultiMap(paramMultiMap);

HashMap?paramSMMap?=?new?HashMap();

paramSMMap.put("p1","00001");

paramSMMap.put("p2","00002");

paramSMMap.put("p",new?String[]{"00001","00002","00003"});

dataForm.setParamSMMap(paramSMMap);

List?persons?=?new?ArrayList();

Person?person1?=?new?Person();

person1.setId("00001");

person1.setName("趙辰");

Person?person2?=?new?Person();

person2.setId("00002");

person2.setName("李為芳");

Person?person3?=?new?Person();

person3.setId("00003");

person3.setName("王微");

persons.add(person1);

persons.add(person2);

persons.add(person3);

dataForm.setPersons(persons);

return?mapping.findForward("success");

}

單參單值

多參單值

單參多值

混合

下面的代碼示例了html:link標簽的indexed屬性和indexId屬性的用法,這兩個屬性只有html:link標簽嵌套在logic:iterate標簽中時才可用。

person

html:rewrite標簽和html:link標簽類似只是不生成錨點(),而是簡單的輸出字符串。

html:errors

html:errors標簽和html:messages標簽的功能相似,所以我們放到一起來介紹。

html:errors標簽將由name屬性指定的ActionMessages、ActionErrors、String和String[]直接輸出到頁面中。

html:messages標簽將用由name屬性(注意message屬性值對它的影響)指定的ActionMessages、ActionErrors、String和String[]創建一個新的屬性和scripting變量,使用id屬性值作為名稱。

html:errors標簽和html:messages標簽的property屬性是用來為errors和messages分類的。我們可以給這兩個標簽指定property屬性,以便只顯示某一類的錯誤或消息。

在資源文件增加了如下的內容:

#?--?standard?errors?--

errors.header=

errors.prefix=

errors.suffix=

errors.footer=

error=error?with?none?value?.

error1=error1?with?one?value?is?{0}?.

error2=error2?with?two?values?are?{0}?,?{1}?.

error3=error3?with?three?values?are?{0}?,?{1}?,?{2}?.

error4=error4?with?four?values?are?{0}?,?{1}?,?{2}?,{3}?.

下面的代碼示例了actionErrors的構造:

public?ActionErrors?validate(ActionMapping?mapping,?HttpServletRequest?request)?{

ActionErrors?actionErrors?=?new?ActionErrors();

actionErrors.add("property1",

new?ActionMessage("error"));

actionErrors.add("property2",

new?ActionMessage("error1","value0"));

actionErrors.add("property2",

new?ActionMessage("error2","value0","value1"));

actionErrors.add("property3",

new?ActionMessage("error3","value0","value1","value2"));

actionErrors.add("property3",

new?ActionMessage("error4","value0","value1","value2","value3"));

actionErrors.add("property4",

new?ActionMessage("error1",new?Object[]{"value0"}));

actionErrors.add("property4",

new?ActionMessage("error2",new?Object[]{"value0","value1"}));

actionErrors.add("property4",

new?ActionMessage("error3",new?Object[]{"value0","value1",

"value2"}));

actionErrors.add("property5",

new?ActionMessage("error4",new?Object[]{"value0","value1",

"value2","value3"}));

actionErrors.add("notBundle",

new?ActionMessage("not?a?bundle?key",false));

return?actionErrors;

}

errors標簽代碼示例:

messages標簽代碼示例:

html:javascript

html:javascript標簽生成用于校驗的javascript腳本代碼。

下面的代碼片段示例了html:javascript標簽的基本用法,其中formName屬性的值是在validation.xml文件的中定義的form的名稱。有一點值得注意的是在確定時要使用合適的language屬性值。

html:xhtml

html:xhtml標簽在頁面中一出現就是告訴該頁的所有其它的Struts?html標簽以XHTML1.0兼容的形式輸出。這和將html:html標簽的xhtml屬性值指定為true有些類似。如果上述情況都沒有出現,Struts?html標簽將以html4.01兼容的形式輸出。

總結

以上是生活随笔為你收集整理的引入struts html标签,【学习】Struts标签之html标签的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。