spring标签使用文档格式.docx

上传人:b****3 文档编号:15702723 上传时间:2022-11-15 格式:DOCX 页数:14 大小:20.09KB
下载 相关 举报
spring标签使用文档格式.docx_第1页
第1页 / 共14页
spring标签使用文档格式.docx_第2页
第2页 / 共14页
spring标签使用文档格式.docx_第3页
第3页 / 共14页
spring标签使用文档格式.docx_第4页
第4页 / 共14页
spring标签使用文档格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

spring标签使用文档格式.docx

《spring标签使用文档格式.docx》由会员分享,可在线阅读,更多相关《spring标签使用文档格式.docx(14页珍藏版)》请在冰豆网上搜索。

spring标签使用文档格式.docx

Spring的表单标签库包含在spring.jar中。

这个库的描述符(descriptor)叫做spring-form.tld。

要使用这个库中的标签,在JSP页面的开头加入下面声明:

<

%@taglibprefix="

form"

uri="

http:

//www.springframework.org/tags/form"

%>

在上面的声明中,form就是为想要使用的这个库中的标签所确定的标签命名前缀。

13.9.2. 

form标签

这个标签会生成一个HTML的“form”标签,同时为内部标签的绑定暴露了一个绑定路径(bindingpath)。

它把命令对象(commandobject)放在PageContext中,这样内部的标签就可以访问这个命令对象了。

这个库中的其他标签都是form标签的嵌套标签。

假设我们有一个叫做User的领域对象,它是一个JavaBean,拥有诸如firstName和lastName这样的属性。

我们将把它当作返回form.jsp的表单控制器的表单支持对象(formbackingobject)。

下面是一个form.jsp可能的样子的例子:

form:

form>

<

table>

tr>

td>

FirstName:

/td>

inputpath="

firstName"

/>

/tr>

LastName:

lastName"

tdcolspan="

2"

>

inputtype="

submit"

value="

SaveChanges"

/table>

/form:

上面firstName和lastName的值是从由页面控制器放置在PageContext中的命令对象中得到的。

请继续读下去来看几个关于如何使用form标签的内部标签的例子。

生成的HTML看起来就是一个标准的form:

formmethod="

POST"

inputname="

type="

text"

Harry"

/>

Potter"

/form>

上面的JSP有一个预设前提,就是表单支持对象(formbacking)的变量名是“command”。

如果你将这个表单支持对象用其他名称加以定义(这可算是一种最佳实践),你就可以将这个命名变量绑定到表单上,如下例所示:

formcommandName="

user"

13.9.3. 

input标签

这个标签生成一个“text”类型的HTML“input”标签。

关于这个标签的示例,请见第 

13.9.2 

节“form标签”。

13.9.4. 

checkbox标签

这个标签生成一个“checkbox”类型的HTML“input”标签。

让我们假设我们的User有比如新闻订阅和其他一组业余爱好这样的偏好。

下面就是一个Preferences类的例子:

publicclassPreferences{

privatebooleanreceiveNewsletter;

privateString[]interests;

privateStringfavouriteWord;

publicbooleanisReceiveNewsletter(){

returnreceiveNewsletter;

}

publicvoidsetReceiveNewsletter(booleanreceiveNewsletter){

this.receiveNewsletter=receiveNewsletter;

publicString[]getInterests(){

returninterests;

publicvoidsetInterests(String[]interests){

this.interests=interests;

publicStringgetFavouriteWord(){

returnfavouriteWord;

publicvoidsetFavouriteWord(StringfavouriteWord){

this.favouriteWord=favouriteWord;

}

form.jsp如下:

Subscribetonewsletter?

:

%--Approach1:

Propertyisoftypejava.lang.Boolean--%>

checkboxpath="

preferences.receiveNewsletter"

Interests:

%--Approach2:

Propertyisofanarrayoroftypejava.util.Collection--%>

Quidditch:

preferences.interests"

Quidditch"

Herbology:

Herbology"

DefenceAgainsttheDarkArts:

DefenceAgainsttheDarkArts"

FavouriteWord:

%--Approach3:

Propertyisoftypejava.lang.Object--%>

Magic:

preferences.favouriteWord"

Magic"

有三种checkbox标签的使用方法满足你对checkbox的需求。

∙第一种用法:

若绑定值是java.lang.Boolean类型,则值为true时,input(checkbox)就标记为选中。

其value属性对应于setValue(Object)值的属性的解析值。

∙第二种用法:

若绑定值是array或java.util.Collection类型,则当设定的setValue(Object)值出现在绑定的Collection中时,input(checkbox)就标记为选中。

∙第三种用法:

若绑定值为其他类型,则当设定的setValue(Object)与其绑定值相等时,input(checkbox)才标记为选中。

注意,不管使用哪种方法,生成的HTML结构都是相同的。

下面是包含一些checkbox的HTML片段:

spring.framework.eckbox"

hidden"

1"

name="

_preferences.interests"

也许没有注意到的是在每个checkbox背后还隐藏了其他字段(field)。

当一个HTML页面中的checkbox没有被选中时,它的值不会在表单提交时作为HTTP请求参数的一部分发送到服务器端,因此我们需要给这个HTML的奇怪动作想出一个变通方案,来让Spring的表单数据绑定可以工作。

checkbox标签遵循了Spring现有的惯例,就是对于每个checkbox都包含了一个下划线("

_"

),再跟上一个隐藏参数。

这样一来,就相当于告诉Spring“这个checkbox在表单中是可

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1