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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Struts2第十一篇【简单UI标签、数据回显】

發布時間:2025/3/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Struts2第十一篇【简单UI标签、数据回显】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

tags: Struts2



Struts2UI標簽

Sturts2為了簡化我們的開發,也為我們提供了UI標簽...也就是顯示頁面的標簽.....

但是呢,Struts2是服務端的框架,因此使用頁面的標簽是需要在服務器端解析然后再被瀏覽器解析,**最后才顯示在頁面上的。**因此,它的性能是不夠HTML標簽好的...HTML直接就能夠被瀏覽器解析

還有一點是:我們在寫網頁的時候,肯定是需要使用div+css的頁面布局的使用Struts2UI標簽也沒法干了....因此,除了有必要的話,才去使用Struts2UI標簽

簡單使用Struts2UI標簽

<%--我們發現,Struts2UI標簽用起來和HTML是差不多的--%><s:form id="form1" name="form1" method="POST" action="#"><%--輸入框數據,lable就相當于我們以前外邊寫的數據--%><s:textfield label="用戶名" name="user.username"/><%--密碼框--%><s:password label="密碼" name="user.password"/><%--提交按鈕--%><s:submit value="提交"/></s:form>復制代碼

當我們查看源文件的時候,發現Struts2UI標簽為我們自動加入了很多的標簽

設置主題

上面已經說了,Struts2UI標簽為我們自動加入了很多的標簽,那有的時候,我們不想要,或者換一種風格的話,怎么辦???

Struts2UI標簽也為我們提供了“主題”這樣的功能...

當我們在表單中設置theme屬性為simple之后...我們發現源文件Struts2自動為我們添加的標簽全沒了。

如果我們想整個項目都是使用simple為主題的話,我們可以在配置文件中配置

<constant name="struts.ui.theme" value="simple"/>復制代碼

數據回顯

我們對數據回顯也不會陌生,在使用EL表達式的時候就已經用過了數據回顯了....那為啥數據回顯放在Struts2標簽這里講解呢???因為Struts2也提供了數據回顯的支持,并且,使用數據回顯必須要使用Struts2的標簽...

按照正常思路寫數據回顯

在Struts中按照正常思路寫數據回顯是這樣的:

  • 把數據放到request域中存儲,跳轉到對應的JSP頁面...
public String login() {//把數據存儲到域中Map<String, Object> request = ActionContext.getContext().getContextMap();request.put("username", "zhongfucheng");request.put("password", "123");return SUCCESS;} 復制代碼
  • JSP頁面使用Struts2標簽,設置value屬性就可以進行數據回顯了
<s:form id="form1" name="form1" method="POST" action="" ><%--輸入框數據,lable就相當于我們以前外邊寫的數據--%><s:textfield label="用戶名" name="user.username" value="%{#request.username}"/><%--密碼框--%><s:password label="密碼" name="user.password"/><%--提交按鈕--%><s:submit value="提交"/></s:form> 復制代碼
  • 效果:


Struts2提供的數據回顯

其實,上面的代碼已經實現了數據回顯,但Struts2提供了一個更巧妙的方法

也就是說,Struts2可以直接在name中就可以實現數據回顯了....要做的是:

  • 我們回顯的數據在根元素下的,也就是保存在CompoundRoot中的數據【保存在根元素的數據不用使用#號就可以獲取】

因此,我們把想要回顯的數據放在CompoundRoot下

  • 直接放在值棧的數據就是根元素數據
//得到值棧對象ValueStack valueStack = ActionContext.getContext().getValueStack();valueStack.set("username","zhongfucheng"); 復制代碼
  • 在JSP就可以直接獲取了
<s:textfield label="用戶名" name="username"/> 復制代碼
  • 效果:


如果您覺得這篇文章幫助到了您,可以給作者一點鼓勵

總結

以上是生活随笔為你收集整理的Struts2第十一篇【简单UI标签、数据回显】的全部內容,希望文章能夠幫你解決所遇到的問題。

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