天天看點

java web開發人員經常使用标簽

struts标簽庫 

配置國際化

1.國際化配置

在struts自帶的app中的struts-config.xml中的<message-resources parameter="MessageResources"/>增加到項目中的配置檔案裡默覺得struts-config.xml。

2.國際化檔案導入

MessageResources.properties(位于\struts-1.3.10\src\apps\blank\src\main\java\MessageResources.properties ),并将該檔案放入項目檔案的src下

在jsp檔案頭部分增加

<%@taglib uri="http://struts.apache.org/tags-bean"prefix="bean" %>

文法

hello标簽:  <bean:write name="hello"/>

這樣就會顯示在request設定的資訊

Java

request.setAttribute("hello","cfltaglib");

在struts1.3的版本号中,taglib分為: bean htmllogic nested

每種标簽的使用和定義說明在對應dtld檔案裡有相關的說明。tld檔案是什麼?打開檔案能夠看見,主要是一些xml配置,記錄了該标簽.

如:

版本  <tlib-version>1.3</tlib-version>

jsp版本  <jsp-version>1.2</jsp-version>

建議字首使用名。當然也能夠不使用它的建議。為了統一标準和開發的便利不妨和建議的一緻或者整個項目開發組保持一緻就可以。

<short-name>bean</short-name>

uri資源定位檔案的位址<uri>http://struts.apache.org/tags-bean</uri>

這個即是用來訪問存放在struts服務server上的資源位址的。這個位址是tags-bean的資源定位位址。

當然和我們平時接觸的url不一樣。

tld的根檔案夾是taglib,用來定義相應的标簽的描寫叙述放在子元素的tag元素中。相應的樣例和使用說明。

用來訪問javabean中的定義的一些資料,而查找則是利用标簽中的name來查找。查找的順序是則是依照設定的scope裡設定的範圍來進行查找。

假設沒有針對該标簽設定特定的範圍則查找的順序則是page,request, session, application。另外三中标簽也是這樣一個原理來進行查找和顯示處理資料的。

1.輸出文本

  <bean:write name="hello"/>

2.格式化日期

<bean:write name="propertyname"format="yyyy-mm-dd" />

3.輸出javabean對象屬性

<bean:write name="beanname"property="property" />

Name:為javabean對象

property:為javabean中提供了get和set方法的屬性。

     運作邏輯推斷,這裡的邏輯推斷僅限于用于資料顯示的邏輯推斷和後面關于業務的邏輯處理還是有差别的。标簽着重的還是資料的顯示。

引入<%@taglib uri="http://struts.apache.org/tags-logic"prefix="bean" %>

1.是否為空

類似的還有logic:present

2.疊代器

事實上顯示大都一緻。無非是在背景對對應的變量在javabean内配置對應的資料就可以。

主要是用來配置前端表單顯示的标簽庫,使用起來非常是友善。

如:<html:button />則會構造一個按鈕。有點類似在.net中的asp空間,<asp:button/>讓我有點恍如昨天還在.net中的趕腳。

很多其它:​​http://www.360doc.com/content/13/1227/16/1007797_340571617.shtml​​

EL表達式

        在struts1.x中還配用了EL表達式來進行輔助工作,類似腳本的表達結構。也是直接在page、request、session、application中查找資料,可是不同的是直接傳回的是在javabean中設定的對象類型。

設定的是何種資料類型就傳回什麼樣的資料類型。

當然也是能夠直接訪問在javabean的對象的屬性資料的。

文法:

${ name} or ${javabean.property}

       使用起來相對簡單,使用者不用考慮資料的類型直接使用。而後struts2由于安全問題。不能嵌套使用EL表達式了。可是在html标簽中還是可以使用。struts使用的是OGNI表達式,一種lambda的表達方式,可是也可以相容普通的寫法。

後面的文章會解釋使用。

也就是<s:url id="selectData1"value="${pageContext.request.contextPath}這樣是不能夠的。而<span>${name}</span>還是能夠使用的。另外在頁面也能夠啟用表達式,----<%@ page isELIgnored="false" %> 啟用EL表達式。jsp2.0預設是啟用的。

el還涉及到操作符。也可以完畢類似struts1.x标簽庫的效果。很多其它:​​http://www.blogjava.net/supercrsky/articles/179363.html​​。

JSTL

    Jsp standard taglibrary一個不斷完好的開源标簽庫。包含core fmt sql tlv四個标簽庫。

使用時須要引用到兩個jar包,jstl.jar和standard.jar。疊代和條件推斷、資料管理格式化、XML 操作以及資料庫訪問。

通常EL表達式會配合使用。

導入.jar包

Jstl.jar和standard.jar

導入uri資源檔案

<%@ taglib uri="http://java.sun.com/jsp/jstl/core"prefix="h"%>。這裡我自己定義寫成了h,當然普通情況還是推薦寫為c。

主要用于顯示資料,能夠替代 out或者 <%=%> 标簽來輸出對象的值。類似struts中的write

demo

顧名思義就是針對格式化的處理

直接在頁面上針對資料庫進行操作,當然一般這樣的情況非常少使用,僅限特殊情況。

後序

           JSTL、struts标簽、EL表達式都是自己定義标簽的一種,而EL是servlet的标準,通常都會相容使用,在一開始是為了來簡化頁面。杜絕頁面java代碼的出現;struts标簽機JSTL都須要對應的jar包來配置,以及對應的uri定位資源引入。

jstl是相對的标準。而struts開發包也攜帶了jstl的jar包,查詢資料有講struts标簽的性能相對jstl差點,詳細還沒有實踐過。沒有體會。總的來講,都是标簽庫的一種。

詳細使用。個人習慣結合項目标準來吧。