Spring的jsp標簽庫


1,主要有兩個

一個用於渲染HTML表單標簽, 這些標簽會綁定model中的某個屬性

另一個包換了一些工具類標簽

2,將表單綁定到模型上

包含了14個標簽,海報一個人為用戶展現錯誤的標簽,它會將錯誤信息渲染到最終的HTML中

為了使用表單綁定庫,需要在jsp頁面中聲明:

<%@ taglib uri="http://www.springframework.org/tags/form" prefix="sf" %>

3,通用標簽庫

使用前需要在jsp頁面中聲明:

<%@ taglib uri="http://www.springframework.org/tags" prefix="s" %>

4,展現國際化信息

通常使用<s:message/>如:

<h1><s:message code="spittr.welcome" /></h1>

Spring有多個信息源的類,他們都實現了MessageSource接口,在這些類中,更為常見和有用的是ResourceBundleMessageSource,它會從一個屬性文件

中加載信息,如下

 

 

@Bean
public MessageSource messageSource() {
  ResourceBundleMessageSource messageSource =
          new ResourceBundleMessageSource();
  messageSource.setBasename("messages");
  return messageSource;
}

在這里,核心在於設置basename屬性,可以設置為任意你喜歡的

另外的可選方案是ReloadableResourceBundleMessageSource,但是他能重新加載信息屬性。而不必重新編譯或重新啟用,如下

@Bean
public MessageSource messageSource() {
  ReloadableResourceBundleMessageSource messageSource =
      new ReloadableResourceBundleMessageSource();
  messageSource.setBasename("file:///etc/spittr/messages");
  messageSource.setCacheSeconds(10);
  return messageSource;
}

 兩者的關鍵區別在於前者是在類路徑下查找,后者為應用的外部查找

 5,創建URL

<s:url>,主要任務是創建URL,然后將其賦值給一個變量,或渲染到響應中

默認情況下,URL是在頁面作用域內創建的,但是通過設置scope屬性。我們可以讓他在應用作用域內,會話作用域或域內作用域

如<s:url href="/spitter/register" var="registerUrl" scope="request" />

如果希望添加參數的話,可以使用<s:param>,如

<s:url href="/spittles" var="spittlesUrl">
  <s:param name="max" value="60" />
  <s:param name="count" value="20" />
</s:url>

<s:escapeBody>標簽專門用來轉義內容,而不是轉義標簽,是一個通用的轉義標簽,支持HTML和JavaScript轉義

<s:escapeBody htmlEscape="true">
<h1>Hello</h1>
</s:escapeBody>

<s:escapeBody javaScriptEscape="true">
<h1>Hello</h1>
</s:escapeBody>

轉義為到&lt;h1&gt;Hello&lt;/h1&gt;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM