??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久精品久久久久久96,国产在线导航,久久国产精品高清一区二区三区http://www.aygfsteel.com/DreamFight/category/37677.htmlzh-cnSun, 15 Feb 2009 11:03:41 GMTSun, 15 Feb 2009 11:03:41 GMT60Struts标签库详?(2)http://www.aygfsteel.com/DreamFight/articles/254757.htmlDreamFightDreamFightSun, 15 Feb 2009 07:30:00 GMThttp://www.aygfsteel.com/DreamFight/articles/254757.htmlhttp://www.aygfsteel.com/DreamFight/comments/254757.htmlhttp://www.aygfsteel.com/DreamFight/articles/254757.html#Feedback0http://www.aygfsteel.com/DreamFight/comments/commentRss/254757.htmlhttp://www.aygfsteel.com/DreamFight/services/trackbacks/254757.html遗补Q?/span>1.)<html:link>标签
forward属性:(x)链接C?/span>global forward上;action属性:(x)链接C?/span>action mapping上;
href
属性:(x)q个链接?x){发给控制器,由控制器做决定;page属性:(x)一个相对的链接?/span>

?/span>page属性链接到action上:(x)
   <html:link page="/html-link.do">
   Linking with the page attribute.
</html:link>

注意Q上面的代码中你不必指定web的关联。相反的Q如果你使用href属性,你就必须像下面所C指?/span>web的关?/span>(q里的关联就?/span>struts-exercise)Q?/span>
<html:link href="/struts-exercise-taglib/html-link.do">
   Using Href
</html:link>

很明显,当你在相同的web应用E序中做链接是,它比page属性更加好。你也能?/span>href在不同的服务器上创徏链接Q?/span>
<html:link href="http://otherserver/strutsTut/html-link.do">
Using Href
</html:link>

另一U链接到html-link.do的方法是?/span>action属性:(x)
<html:link action="/html-link">
Using Action attribute
</html:link>

你也可以以硬~码的方式用参敎ͼ(x)
<html:link page="/htmllink.do?doubleProp=3.3&amp;longProp=32">
   Double and long via hard coded changes
</html:link>

或者?/span>paramId, paramName, and paramProperty属性:(x)
<html:link page="/html-link.do" paramId="booleanProperty" paramName="testbean"
   paramProperty="nested.booleanProperty">
   Boolean via paramId, paramName, and paramValue
</html:link>

解析后的代码Q?/span>
<a href="/struts-exercise-taglib/html-link.do?booleanProperty=false">
    Boolean via paramId, paramName, and paramValue
</a>

另外Q还能用带name属性的Map来实C递多个参敎ͼ(x)
<%
java.util.HashMap newValues = new java.util.HashMap();
newValues.put("floatProperty", new Float(444.0));
newValues.put("intProperty", new Integer(555));
newValues.put("stringArray", new String[]
{ "Value 1", "Value 2", "Value 3" });
pageContext.setAttribute("newValues", newValues);
%>
...
<html:link action="/html-link" name="newValues">
    Float, int, and stringArray via name (Map)
</html:link>

你也能够链接?/span>Mapcd?/span>action上,上面的代码解析后的结果:(x)
<html:messages property="property2" message="true" id="msg" header="messages.header" footer="messages.footer">
<tr><td><%= pageContext.getAttribute("msg") %></td></tr>
</html:messages>
2.) select?/span>option标签
<html:select>
的属性:(x)propertyQ与ActionForm中的某个属性对应;sizeQ显C?/span>option的数目;multipleQ默认ؓ(f)falesQ表CZ能多选,当设定ؓ(f)trueӞproperty对应?/span>ActionForm的属性必Mؓ(f)数组?/span>
<html:select property="name" size=6 multiple="true">
<html:option>
的属性:(x)key?/span>local?/span>bundleQ指?/span>Resource Bundle中的内容?/span>
例如 <html:option value="color1">Orange</html:option>
<html:option value="color1" bundle="htmlselect.Colors" key="htmlselect.red"/>
它和配置文g中的<message-resources>元素?/span>key属性匹?/span> --> <message-resource parmeter="HtmlSelectColors" key="htmlselect.Colors"/>
<message-resource>
中配|的资源文g?/span>HtmlSelectColors.propertiesQ相兛_容ؓ(f) htmlselect.red=RED
<html:options>
标签Q提供了一l?/span><option>元素Q在<html:select>元素中可以包含多?/span><html:options>元素。非常灵z,可以取得集合或数l中的倹{?/span>
?/span>1 <html:options collection="coll" property="value" labelProperty="label" /> q指?/span>coll的集合中存放?/span>optionsQ?/span>value指实际能被提交的|label是显C给用户的倹{?/span>
?/span>2 <html:options property="value" labelProperty="label" /> collection属性不被指定时Q将使用表单相关?/span>form beanQ?/span>form bean?/span>value属性存?/span>option valueQ?/span>label属性值显C给用户?/span>
?/span>3 <html:options name="valueBean" property="values" labelName="labelsBean" labelProperty="labels" /> q个意思是value值存攑֜名ؓ(f)valueBean?/span>bean?/span>vlaues属性中Q它是一?/span>collectionQ?/span>labelg是同L(fng)意思?/span>
<html:optionsCollection>
标签Q和<html:options>的用法很怼?/span>
例如 <html:select property="custId"><html:optionsCollection property="customers" label="name" value="custId" /></html:select>
q个标签?/span>org.apache.structs.util.LabelValueBeanl合的很好,如果?/span>label?/span>value都放到这个对象中Q可以很单的q样应用Q?/span>
<html:select property="custId"><html:optionsCollection property="customers" /></html:select>


DreamFight 2009-02-15 15:30 发表评论
]]>
Struts标签库详?1)http://www.aygfsteel.com/DreamFight/articles/254756.htmlDreamFightDreamFightSun, 15 Feb 2009 07:29:00 GMThttp://www.aygfsteel.com/DreamFight/articles/254756.htmlhttp://www.aygfsteel.com/DreamFight/comments/254756.htmlhttp://www.aygfsteel.com/DreamFight/articles/254756.html#Feedback0http://www.aygfsteel.com/DreamFight/comments/commentRss/254756.htmlhttp://www.aygfsteel.com/DreamFight/services/trackbacks/254756.htmlStruts提供了五个标{ֺQ即Q?/span>HTML?/span>Bean?/span>Logic?/span>Template?/span>Nested?/span>
标签?/span>
说明
HTML 标签
用来创徏能够?/span>Struts 框架和其他相应的HTML 标签交互?/span>HTML 输入表单
Bean 标签
在访?/span>JavaBeans ?qing)其属性,以及(qing)定义一个新?/span>bean 时?/span>
Logic 标签
理条g产生的输出和对象集生的循环
Template 标签
随着Tiles框架包的出现Q此标记已开始减?/span>
Nested 标签
增强对其他的Struts 标签的嵌套用的能力
标签的公q?/span>
使用固定属性名U的Struts 标签Q?/span>
属?/span>
说明
id
命名自定义标{ֈ建时的脚本变量名?/span>
name
指出关键字|在该关键字下可以扑ֈ一个存在的bean 。如果给Zscope属性,则仅仅在scope中查找。否则,Ҏ(gu)标准的顺序在各种scope中查找:(x)(page, request, session, or application)?/span>
property
指出bean 中的某个属性,可以在其中检索倹{如果没有标明,则用对象本w的倹{?/span>
scope
定义?/span>Bean在哪个范?/span>(page, request, session, or application)中被查找。如果没有标明按序查找。脚本变?/span>(?/span>id)在相同的范围中创徏?/span>
Struts 标签也支持嵌套引用,例如Q?/span>
Property="foo.bar.baz"

q相当于q行下面的调用:(x)
getFoo().getBar().getBaz()
Q?/span>

或者做?/span>setterQ?/span>
getFoo().getBar().setBaz(value)
Q?/span>
虽然Struts 标签的设计原意是Z避免使用scriptletQ?/span>scriptlet的表辑ּq能够提供给所有的Struts 标签使用。但L(fng)保用完整的表达?/span>:
错误Q?/span>
<html:link href="'<%= "/" + name %>/index.jsp>'>

正确Q?/span>
<html:link href="'<%= "/" + name + "/index.jsp" %>'>    //
表达式必L供整个属性?/span>

Html 标签?/span>
1.        <html>标签
它有两个属性:(x)locale?/span>xhtmlQ两者都不是必需的?/span>
<html:html locale=\"true\">

此行代码解析后:(x)
<html lang=\"en\">
2.        说明Q生成的l果取决?/span>Struts应用E序所位于的服务器?/span>locale。如果你应用程序部|到一个不?/span>locale的服务器Q你不需要改变代码,Locale?x)自动调整?/span>
3.        <base>标签Q表C所包含面的绝对位|。这个标{֏有内嵌在head标签中才有效?/span>
<html:base/>

此行代码解析后:(x)
<base href=\"http://www.mymain.com/myStrutsApp/testing.jsp\">
4.        <img>标签
最重要的属?/span>pageQ图象文件的路径Q前面必d有一个斜Uѝ?/span>
其它属性:(x)heignt?/span>width?/span>alt?/span>
   <html:img page=\"/logo.gif\" height=\"50\" width=\"200\" alt=\"Web Logo\"/>
5.        <link>标签
<html:link page=\"/index.html\">Click demo</html:link>

此行代码解析后:(x)
   <a href=\"/index.html\">Click demo</a>
6.        <errors>标签Q通过一个简单的<html:errors/>标签Q你可以在一?/span>JSP面上显C完全自定义的错误信息。功能超强大Q!
说明Q这个标{֜Request对象的属性集合中查找reserved key。如果它扑ֈ一?/span>reserved keyQ它?yu)假设这?/span>key是一?/span>String、或是一?/span>String数组  
     
Q它包含在模块的MessageResources中查扄message keysQ、或是类型ؓ(f)org.apache.struts.action.ActionErrors的一个对象?/span>
        
如果在应用程序资源中存在相应的信息,那么可以用下面q些可选的message keysQ?/span>  
        · errors.header   or errors.prefix
Q相应的信息在错误信息的单独列表前显C?/span>
        · errors.footer or errors.suffix
Q相应的信息在错误信息的单独列表后显C?/span>
7.        <form>标签pd
使用<form>标签时必遵循一些规则:(x)
1.       标签中必d含一?/span>action属性,它是q个标签中唯一必需的属性。如果不具备该属性则JSP面?x)抛Z个异常。之后你必须l这?/span>action属性指定一个有效倹{一个有效值是指应用程序的Struts配置文g中元素里的Q何一个子元素的访问\径。而且相应的元素中必须有一?/span>name属性,它的值是form bean的名U?/span>
<html:form action=\"/login\" >

如果你有上述一个标{?/span> Q那么你?/span>Struts配置文g的元素中必须有一个如下显CZؓ(f)_体的元素:(x)
<action-mappings>
      <action path=\"/login\"
       type=\"com.javapro.struts.LoginAction\"  
       name=\"loginForm\"
       scope=\"request\"
       input=\"/login.jsp\">
       <forward name=\"success\" path=\"/mainMenu.jsp\"/>
     </action>
     .
     .
     .
</action-mappings> //
q就是说一?/span>form标签是和form bean相关联的?/span>
2.      
3.       M包含?/span><form>中用来接收用戯入的标签Q?/span><text>?/span><password>?/span><hidden>?/span><textarea>?/span><radio>?/span><checkbox>?/span><select>Q必d相关?/span>form bean中有一个指定的属性倹{比如,如果你有一个属性D指定?/span>“username”?/span><text>标签Q那么相关的form bean中也必须有一个名?/span>“username”的属性。输?/span><text>标签中的g(x)被用于生?/span>form bean?/span>userName属性?/span>

<form>
标签q有一些不是必M很有用的ơ要属性?/span>
比如Q你可以?/span>focus属性来生成JavaScriptQ它?/span>定焦Q?/span>focusQ到?/span>form所包含的一个元素上。?/span>focus属性时你需要给它指定元素的名称?/span>
<body>
<html:form action=\"/login\" focus=\"password\">
User Name: <html:text property=\"userName\"/>
<br>Password: <html:text property=\"password\"/>
<br><html:submit/>
</html:form>
</body>

代码解析后:(x)
<body>
<form name=\"loginForm\" method=\"post\" action=\"/myStrutsApp/login.do\">
User Name: <input type=\"text\" name=\"userName\" value=\"\">
<br>Password: <input type=\"text\" name=\"password\" value=\"\">
<br><input type=\"submit\" value=\"Submit\">
</form>
<script language=\"JavaScript\" type=\"text/javascript\">
   <!--
if (document.forms[\"loginForm\"].elements[\"password\"].type != \"hidden\")
       document.forms[\"loginForm\"].elements[\"password\"].focus()
   // -->
</script>

</body>
有没有看到这个标{ֺ是如何徏?/span>JavaScript来定焦到password元素上的? q也是该库让人着qL(fng)地方之一。你不用担心如何在客L(fng)q行~程Q它?x)帮你自动生成?/span>
q可以看刎ͼ<form>标签?/span>method属性的~省值是POST?/span>

<text>
标签?/span><hidden>标签?/span><textarea>标签?/span><radio>标签?/span><checkbox>标签?/span><submit>标签?/span><reset>标签Q?/span>
都有一?/span>property属性,最后会(x)被{换成HTML中的name属性,当然q有name?/span>value属性?/span>

<password>
标签
   <html:password property=\"password\"   redisplay=\"false\"/>
该标{中的一个很重要的属性是"redisplay"Q它用于重新昄以前输入到这个区域中的倹{该属性的~省gؓ(f)true。然而,Z?/span>password不能被重新显C,你或许希望将该属性的D?/span>false?/span>

<select>
标签?/span><option>标签Q?/span>
<html:select property=\"color\" size=\"3\">
   <html:option value=\"r\">red</html:option>
   <html:option value= \"g\">green</html:option>
   <html:option value= \"b\">blue</html:option>
</html:select>



DreamFight 2009-02-15 15:29 发表评论
]]>
վ֩ģ壺 Ϻӿ| ǭ| ɽ| ũ| | ˮ| | | | Ͱ| | | | | ʳ| | ʡ| ˮ| Ϲ| | | | ƽ| ֹ| | | | | | Զ| | Ӧ| | ͩ| ƽ| | | | Ԫ| կ| ָ|