Struts2學習筆記⑥

在微信讀書上在看一本李剛寫的Struts 2.X權威指南 (好像叫這個)的書,能夠看得出來做者的開發經驗仍是很充足的,可是以爲他的尺度和順序沒有把握好,他本身說攔截器是數據校驗、國際化的基礎…完了還把攔截器放在大後面講…應該講完Action就講攔截器啊,這樣纔有前置知識你後面的知識才好說啊,並且攔截器很重要的好伐…數據校驗基本上講得是Pattern,你還不仔細將Pattern,這是個啥意思….好了,不吐槽了,人家能出書仍是水平在哪裏的,但願下一版本能注意吧。css

今天來看一看struts2的標籤庫吧。html

Struts 2 標籤庫

就是爲了方便開發者獲取數值和傳遞數值而定義的一套前端標籤。前端

使用:首先在使用的Struts2標籤庫的jsp頁面中引入標籤庫:java

<%@ taglib prefix=」s」 uri=」/struts-tags」%>微信

這樣就可使用了,看到了prefix是s,因此看到s:的都是struts的標籤。這讓我想到了Codeigniter,在文件上傳的時候直接一個標籤就好了,沒有須要在寫上multiply-form 云云。有時候仍是挺方便的。可是我對這個標籤的態度比較陌生,以爲不像手寫的靠譜 who konws。jsp

其實和HTML差很少,struts的標籤庫也都很簡單,來寫個例子:post

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>orm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <body>
  <center>
  <h2>註冊用戶</h2>
    <s:form action="register" method="post">
        <s:textfield name="username" label="姓名"></s:textfield>
        <s:password name="password" label="密碼"></s:password>
        <s:select name="degree" label="學歷" list="{'高中及如下','大學','研究生'}"></s:select>
        <s:radio name="sex" label="性別" list="{'男','女'}"></s:radio>
        <s:textarea name="protocol" label="註冊協議" value="asjdflkajfljasfkljaskldfjlk;asfj;ldsf"></s:textarea>
           <s:checkbox name="ok" label="贊成註冊協議"></s:checkbox>
        <s:submit value="提交"></s:submit>
        <s:reset value="重置"></s:reset>s
    </s:form>
    </center>
  </body>
</html>
htm

真的簡單了不少!以前顧慮怎麼設置css啊,每一個標籤還有一個屬性,cssClass和cssStyle 就好了,比較喜歡的是select裏面的list屬性,很是方便,節省了不少代碼量。token

具體的表單標籤用到了查書就能夠了,這裏想寫一個級聯操做的例子:

<s:form name="selectCity">
      <s:doubleselect label="請選擇城市" name="city"
          list="{'北京市','上海市'}"
          doubleList = "top=='北京市'?{'西城區','東城區','海淀區','朝陽區'}:{'閘北區','普陀區','楊浦區','閔行區'}"
          doubleName="cityZ" />
  </s:form>

這個特別簡單了就,我以爲要比原生的js簡單,並且很實用。須要注意的是使用doubleselect必須制定form的name屬性。

除了上面的標籤以外,還有<s:file accept=」接收文件的類型」 name=」」>

<s:token />防止重複提交的標籤。

除了表單標籤外,其餘的非表單標籤和jsp的幾乎一致,不作贅述。

相關文章
相關標籤/搜索