RARstruts2.0标签详解 2.7MB

zsl79812需要积分:4(1积分=1元)
文件:struts2.0标签解释.rar

资源介绍:

Struts2.0是一个强大的Java Web开发框架,它极大地简化了MVC(Model-View-Controller)应用的构建。在Struts2中,标签库是其核心特性之一,提供了丰富的标签来帮助开发者更加便捷地创建动态网页。本文将深入探讨Struts2.0标签的用途与用法。 一、Struts2.0标签概述 Struts2的标签库分为核心标签库和主题标签库。核心标签库提供用于控制流程和展示数据的基本功能,而主题标签库则用于实现视图层的各种展示效果。这些标签都是基于OGNL(Object-Graph Navigation Language)表达式语言,使得数据绑定和表达式评估变得简单。 二、核心标签库 1. `s:property`: 用于显示模型对象的属性值,例如``将显示对象的"name"属性。 2. `s:form`: 创建表单,支持验证和数据绑定,如``。 3. `s:textfield`: 创建输入字段,自动绑定到Action类的属性,如``。 4. `s:textarea`: 创建多行文本输入区域,用法与`s:textfield`类似。 5. `s:checkbox`和`s:radio`: 分别用于创建复选框和单选按钮,可以与数组或集合进行数据绑定。 6. `s:select`: 创建下拉列表,可以动态填充选项,如``。 7. `s:submit`: 提交按钮,如``。 8. `s:action`: 执行一个Action,可以传递参数,如``。 三、主题标签库 Struts2提供了多种主题,如xhtml、simple、css_xhtml等,它们定义了标签的样式和布局。通过设置``,可以切换不同的主题。 四、自定义标签 开发者还可以根据需求自定义标签,通过继承`org.apache.struts2.views.jsp.TagSupport`或`org.apache.struts2.components.UIBean`,并配置标签库描述符文件(TLD)来扩展Struts2的标签功能。 五、标签的使用场景 1. 表单验证:`s:form`标签可以配合Struts2的验证框架,自动处理客户端和服务器端的验证。 2. 数据绑定:`s:property`标签可以直接显示Action中的属性值,无需手动获取和设置。 3. 动态渲染:`s:iterator`标签可以遍历集合并动态渲染内容,如列表、数组等。 4. 国际化:`s:text`标签可以实现国际化,通过资源文件加载不同语言的文本。 六、最佳实践 - 使用`s:if`和`s:else`进行条件判断,`s:switch`进行多分支判断,增强模板的逻辑性。 - 避免过多的Java脚本,尽量利用Struts2的标签来处理业务逻辑和展示。 - 结合OGNL表达式,充分利用其强大的数据访问和运算能力。 总结,Struts2.0的标签库为开发者提供了强大且灵活的工具,极大地提高了开发效率和代码可读性。理解和熟练使用这些标签,是掌握Struts2.0的关键步骤。通过深入学习和实践,开发者可以更好地驾驭Struts2.0框架,创建出高效、稳定的Web应用程序。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- saved from url=(0057)http://www.blogjava.net/max/archive/2006/10/18/75857.html --> <HTML xmlns:o><HEAD id=Head><TITLE>常用的Struts 2.0的标志(Tag)介绍 - Max On Java - BlogJava</TITLE> <META http-equiv=Content-Type content="text/html; charset=utf-8"> <META id=metaKeywords content="常用的Struts 2.0的标志(Tag)介绍" name=keywords><LINK id=MainCss href="常用的Struts 2_0的标志(Tag)介绍 - Max On Java - BlogJava.files/style.css" type=text/css rel=stylesheet><LINK id=RSSLink title=RSS href="http://www.blogjava.net/max/rss.aspx" type=application/rss+xml rel=alternate> <META content="MSHTML 6.00.2900.3132" name=GENERATOR></HEAD> <BODY> <FORM id=Form1 name=Form1 onsubmit="javascript:return WebForm_OnSubmit();" action=75857.html method=post> <DIV><INPUT id=__EVENTTARGET type=hidden name=__EVENTTARGET> <INPUT id=__EVENTARGUMENT type=hidden name=__EVENTARGUMENT> <INPUT id="&#13;&#10;__VIEWSTATE" type=hidden name=__VIEWSTATE> </DIV> <SCRIPT type=text/javascript> <!-- var theForm = document.forms['Form1']; if (!theForm) { theForm = document.Form1; } function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } } // --> </SCRIPT> <SCRIPT src="常用的Struts 2_0的标志(Tag)介绍 - Max On Java - BlogJava.files/WebResource.axd" type=text/javascript></SCRIPT> <SCRIPT language=JavaScript> function ctlent(evt,id) { if(evt.ctrlKey && evt.keyCode == 13) { try { TempSave(id); } catch(ex) { } finally { __doPostBack('AjaxHolder$PostComment$btnSubmit','') } } }</SCRIPT> <SCRIPT language=JavaScript>function SetReplyAuhor(author){document.getElementById('AjaxHolder_PostComment_tbComment').value+="@"+author+"\n";document.getElementById('AjaxHolder_PostComment_tbComment').focus();return false}</SCRIPT> <SCRIPT src="常用的Struts 2_0的标志(Tag)介绍 - Max On Java - BlogJava.files/ScriptResource.axd" type=text/javascript></SCRIPT> <SCRIPT src="D:\C_TOOLS\tools\勉強の工具\sql2000 sp4\struts-2.0.9-all\常用的Struts 2_0的标志(Tag)介绍 - Max On Java - BlogJava.files\ScriptResource(1).axd" type=text/javascript></SCRIPT> <SCRIPT src="D:\C_TOOLS\tools\勉強の工具\sql2000 sp4\struts-2.0.9-all\常用的Struts 2_0的标志(Tag)介绍 - Max On Java - BlogJava.files\ScriptResource(2).axd" type=text/javascript></SCRIPT> <SCRIPT type=text/javascript> <!-- function WebForm_OnSubmit() { if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false; return true; } // --> </SCRIPT> <!--done--> <DIV id=header><!--done--> <DIV class=header> <DIV class=headerText><A class=headermaintitle id=Header1_HeaderTitle href="http://www.blogjava.net/max/">Max On Java</A><BR>The value of hands-on experience as compared to book learning is smaller in software development than in many other fields. </DIV></DIV></DIV> <DIV id=mytopmenu> <DIV id=mylinks><!--done--><A class=menu id=MyLinks1_HomeLink href="http://www.blogjava.net/">BlogJava</A>&nbsp;&nbsp; <A class=menu id=MyLinks1_MyHomeLink href="http://www.blogjava.net/max/">首页</A>&nbsp;&nbsp; <A class=menu id=MyLinks1_NewPostLink href="http://www.blogjava.net/max/admin/EditPosts.aspx?opt=1">新随笔</A> <A class=menu id=MyLinks1_ContactLink href="http://www.blogjava.net/max/contact.aspx?id=1">联系</A>&nbsp;&nbsp; <A class=menu id=MyLinks1_Syndication href="http://www.blogjava.net/max/rss">聚合</A><A id=MyLinks1_XMLLink href="http://www.blogjava.net/max/rss"><IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" src="常用的Struts 2_0的标志(Tag)介绍 - Max On Java - BlogJava.files/xml.gif"></A>&nbsp;&nbsp; <A class=menu id=MyLinks1_Admin href="http://www.blogjava.net/max/admin/EditPosts.aspx">管理</A> </DIV> <DIV id=mystats><!--done-->随笔-18&nbsp; 评论-753&nbsp; 文章-0&nbsp; trackbacks-0 </DIV></DIV> <DIV id=centercontent><!--done--> <DIV class=post> <DIV class=postTitle><A class=postTitle2 id=viewpost1_TitleUrl href="http://www.blogjava.net/max/archive/2006/10/18/75857.html">常用的Struts 2.0的标志(Tag)介绍</A> </DIV> <P>在上一篇文章《<A href="http://www.blogjava.net/max/archive/2006/10/10/74353.html">为Struts 2.0做好准备</A>》中,我过于详细地介绍了Struts 2.0开发环境和运行环境的配置,所以,本文很少涉及的以上两方面的细节。如果,您看完《<A href="http://www.blogjava.net/max/archive/2006/10/10/74353.html">为Struts 2.0做好准备</A>》后,还有什么不明白,或者没法运行文中例子,请联系我。我的E-MAIL:Max.M.Yuan@gmail.com。<BR></P> <P>在介绍常用标志前,我想先从总体上,对Struts 1.x与Struts 2.0的标志库(Tag Library)作比较。 </P> <TABLE style="BORDER-TOP: #008000 2px solid; BORDER-BOTTOM: #008000 2px solid" cellSpacing=0 cellPadding=2 border=0> <TBODY> <TR> <TD style="FONT-WEIGHT: bold; BORDER-BOTTOM: #008000 1px solid; HEIGHT: 21px; BACKGROUND-COLOR: #ccffcc">&nbsp;</TD> <TD style="FONT-WEIGHT: bold; BORDER-BOTTOM: #008000 1px solid; HEIGHT: 21px; BACKGROUND-COLOR: #ccffcc">Struts 1.x</TD> <TD style="FONT-WEIGHT: bold; BORDER-BOTTOM: #008000 1px solid; HEIGHT: 21px; BACKGROUND-COLOR: #ccffcc">Struts 2.0</TD></TR> <TR> <TD>分类</TD> <TD>将标志库按功能分成HTML、Tiles、Logic和Bean等几部分</TD> <TD>严格上来说,没有分类,所有标志都在URI为“/struts-tags”命名空间下,不过,我们可以从功能上将其分为两大类:非UI标志和UI标志</TD></TR> <TR> <TD>表达式语言(expression languages)</TD> <TD>不支持嵌入语言(EL)</TD> <TD>OGNL、JSTL、Groovy和Velcity</TD></TR></TBODY></TABLE><SPAN style="FONT-SIZE: 11px; FONT-STYLE: italic">以上表格,纯属个人总结,如有所不足或错误,请不吝指正</SPAN> <BR> <P>好了,我要开始介绍“常用”(这里所谓的“常用”,是指在已往工作中使用Struts里经常用到的)的标志了。</P> <P style="TEXT-ALIGN: center"></P> <TABLE style="BORDER-RIGHT: #f0c000 1px solid; BORDER-TOP: #f0c000 1px solid; BORDER-LEFT: #f0c000 1px solid; BORDER-BOTTOM: #f0c000 1px solid; BACKGROUND-COLOR: #ffffce" cellSpacing=0 cellPadding=0 border=0> <TBODY> <TR> <TD style="PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; PADDING-TOP: 4px; HEIGHT: 39px"><IMG src="常用的Struts 2_0的标志(Tag)介绍 - Max On Java - BlogJava.files/lightbulb_on.gif"> </TD> <TD style="PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; PADDING-TOP: 4px; FONT-FAMILY: 华文仿宋; HEIGHT: 39px" align=left>要在JSP中使用Struts 2.0标志,先要指明标志的引入。通过在JSP的代码的顶部加入以下代码可以做到这点。<BR><SPAN style="FONT-SIZE: 10pt; COLOR: #bf5f3f; FONT-FAMILY: 'Courier New'">&lt;%@</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'">taglib </SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: #7f007f; FONT-FAMILY: 'Courier New'">prefix</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">=</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: #2a00ff; FONT-FAMILY: 'Courier New'">"s" </SPAN><SPAN style="FONT-SIZE
100+评论
captcha
    类型标题大小时间
    PDF运算放大器权威指南 中文版(Op Amps for Everyone).pdf43.28MB1月前
    RARjava生成二维码两种方式(一种中间带logo,一种不带)源码1.4MB1月前
    7Z最简单的基于FFMPEG的视频播放器1.116.93MB1月前
    RARandroid开发入门教程(上+下)35.87MB1月前
    RAR21+天学通+C#7.81MB1月前
    RAR大规模语言模型:从理论到实践23.44MB1月前
    PDF基于新技术的远程医疗建设与实践论坛—拥抱“互联网+健康”的开放生态环境—邓小宁4.09MB1月前
    PDFSTM32F103C8T6最小系统板原理图PDF版76.12KB1月前