常用struts标签使用举例

html篇

1. html:base

  同html的base元素。

2. html:cancel

  该标签生成一个取消按钮。当点击该按钮后action servlet会绕过相应的form bean的validate()方法,同时将控制权交给相应的action。在action中可使用Action.isCancelled(HttpServletRequest)方法判断是否被取消了。如果返回true表示这个action被取消了,否则表示这个action没有被取消。
   eg.  取消

3.html:form


1)  标签中必须包含一个action属性,它是这个标签中唯一必需的属性。如果不具备该属性则JSP页面会抛出一个异常。之后你必须给这个action属性指定一个有效值。一个有效值是指应用程序的Struts配置文件中元素里的任何一个子元素的访问路径。而且相应的元素中必须有一个name属性,它的值是form bean的名称

如果你有上述一个标签 ,那么你的Struts配置文件的元素中必须有一个如下显示为粗体的元素:

    
      type=/"com.javapro.struts.LoginAction/" 
      name=/"loginForm/"
      scope=/"request/"
      input=/"/login.jsp/">
     
   
  // 这就是说一个form标签是和form bean相关联的
      2) 任何包含在

中用来接收用户输入的标签( 、 、 、 、 、
  • )必须在相关的form bean中有一个指定的属性值。比如,如果你有一个属性值被指定为“username”的标签,那么相关的form bean中也必须有一个名为“username”的属性。输入标签中的值会被用于生成form bean的userName属性。 4.html:select标签    该标签生成一个select元素。multiple属性决定是否为多选。如果指定了multiple="true"则为多选,此时对应的属性应该是一个数组。否则,此时对应的属性应该是标量。     注意:为了正确的处理未作选择的情况,在ActionForm中的reset()方法中必须将标量属性设置为默认值而将数组的长度置为0。     另外的一个重要问题就是struts如何生成option元素了,这个任务struts交给了html:option、html:options和html:optionsCollection三个标签。 1)html:option      该标签生成一个HTML的option元素。该标签必须嵌在html:select标签中。它的显示文本来自其标签体,也可以来自于资源文件。 eg. red blue 2)html:options      该标签生成多个HTML的option元素。该标签必须嵌在html:select标签中。      指定collection属性的方式举例如下:     未指定collection属性方式的举例如下: 3)html:optionsCollection标签      该标签生成多个HTML的option元素。其功能和html:options标签的相同。 5. html:img标签    最重要的属性page:图象文件的路径,前面必须带有一个斜线。   其它属性:heignt、width、alt。  6.html:link标签    Click demo   logic篇 1.  logic:empty           该标签是用来判断是否为空的。如果为空,该标签体中嵌入的内容就会被处理。该标签用于以下情况:          1)当Java对象为null时;          2)当String对象为""时;          3)当java.util.Collection对象中的isEmpty()返回true时;          4)当java.util.Map对象中的isEmpty()返回true时。 eg.                              ...                         该句等同于:            if   (userList.isEmpty())   {                    ...              }    2.  logic:notEmpty           该标签的应用正好和logic:empty标签相反,略。 3. logic:equal           该标签为等于比较符。 eg1. 比较用户的状态属性是否1,若为1,输出"启用";                                       启用                           eg2. 如果上例中的value值是动态获得的,例如需要通过bean:write输出,因struts不支持标签嵌套,可采用EL来解决该问题。                                        ......                 4. logic:notEqual           该标签意义与logic:equal相反,使用方法类似,略。 5. logic:forward           该标签用于实现页面导向,查找配置文件的全局forward。 eg. 6. logic:greaterEqual           为大于等于比较符。 eg. 当某学生的成绩大于等于90时,输出“优秀”:                                  优秀               7. logic:greaterThan           此为大于比较符,使用方法同logic:greaterEqual,略; 8. logic:lessEqual           此为小于等于比较符,使用方法同logic:greaterEqual,略; 9. logic:lessThan           此为小于比较符,使用方法同logic:greaterEqual,略; 10. logic:match           此标签比较对象是否相等; eg1. 检查在request范围内的name属性是否包含"amigo"串:                               中有一个“amigo”串。                      eg2. 检查在request范围内的name属性是否已“amigo”作为起始字符串:                           以“amigo”作为起始字符串。                      eg3.                            你运行的是Windows系统             11.  logic:notMatch           此标签用于比较对象是否不相同,与logic:match意义相反,使用方法类似,略。 12. logic:messagePresent           该标签用于判断ActionMessages/ActionErrors对象是否存在; eg. 如果存在error信息,将其全部输出:                                                                                              13. logic:messagesNotPresent           该标签用于判断ActionMessages/ActionErrors对象是否不存在,使用方法与logic:messagePresent类似,略 14. logic:present            此标签用于判断request对象传递参数是否存在。 eg1. user对象和它的name属性在request中都存在时,输出相应字符串:                                 user对象和该对象的name属性都存在                       eg2. 若有一个名字为“user”的JavaBean,输出对应字符串:                                有一个名字为“user”的JavaBean。                       eg3.                               we got a user-agent header.             15. logic:notPresent            此标签用于判断request对象传递参数是否不存在,意义与了logic:present相反,使用方法类似,略。 16. logic:iterator             用于显示列表为collection的值(List ,ArrayList,HashMap等)。 eg1. 逐一输出用户列表(userlList)中用户的姓名:                                                             eg2. 从用户列表中输出从1开始的两个用户的姓名                                  .                            eg3. logic:iterator标签的嵌套举例                                        .                                                                                           bean篇 1.  bean:write       该标签将指定的bean的属性值写到当前的JspWriter中,并且可以对输出进行格式化。       例如在struts的action着那个通过request.setAttribute("name", "amigo");将属性值name中放入amigo,可在jsp页面中通过bean:write将name属性输出。 。      对于日期型的属性,可在bean:write标签中指定format来输出日期格式, eg:。      如果要输出某对象的某属性,例如属性名为person的对象的name属性,可通过如下方式:。。 2.   bean:message      该 标签用来从指定的locale中取回国际化的消息并输出,在这个过程中我们还可以传递5个以内的参数。message key可以通过key直接指定,也可以通过name和property间接的指定。 eg1.  ,该句要求在资源文件中有welcome.title的键值对(资源文件在struts的配置文件中指定)。      eg2.  传递参数信息的bean:message的用法,   在资源文件中greeting的配置举例如下:   greeting = hello, {0}, {1}. 3.    bean:parameter   该标签取回请求中的参数值。如果没有指定multiple属性则依据刚取回的值创建一个String类型的bean,否则根据刚取回的值创建一个String[]类型的数组。然后用id属性值将String或String[]绑定到page作用域中(这种绑定是为了其它标签能够使用该值),并创建对应的scripting变量(这种变量是为了JSP脚本能够使用该值)。   eg1. 当请求如下的jsp页面时:http://localhost:8080/test.jsp?orgId=1   在test.jsp页中可通过如下方式获得orgId参数,   4. bean:size   该标签创建一个java.lang.Integer类型的bean,该值为该标签指定的Collection或Map,List中所含元素的个数。它可和logic:iterate标签配合使用。   如下语句输出userList属性中元素的个数: eg.      
  • 评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值