Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30468302
  • 博文数量: 708
  • 博客积分: 12163
  • 博客等级: 上将
  • 技术积分: 8240
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-04 20:59
文章分类

全部博文(708)

分类: Java

2008-04-15 12:49:20

.html标签

1.html元素的标签:

a1.forward="index"> 链接中的name

a2. href="" > 链接到站点外  

a3. page="/HtmlBasic.do">同一个应用    

:包含请求参数: prop1=abc&prop2=123" />

   包含单个请求变量:<% String stringBean = "Value to Pass on URL";

                    pageContext.setAttribute("stringBean", stringBean);%>

paramName="stringBean" />

//要有范围

javaBean" paramProperty="name"/>

包含多个请求变量: <%  java.util.HashMap myMap = new java.util.HashMap();

                      myMap.put("myString", new String("myStringValue") );

                      myMap.put("myArray", new String[] { "str1", "str2", "str3" });

                      pageContext.setAttribute("map", myMap);%>

map"> url

b.: //也可以包含单个或多个请求变量

paramName="stringBean" />



2.
基本表单标签:,,,,

Cancel :Action中的取消事件:

FormBasicForm fbf = (FormBasicForm) form;

        if (isCancelled(request)) { fbf.setStatus("Cancel was pressed!");

            return (mapping.findForward("success"));      }//表示取消选中

  else { fbf.setStatus("Submit was pressed!");

            return (mapping.findForward("success"));    }


3.
下拉列表和多选列表

// multiple下拉可多选

Orange //基本的页面输入

//从资源文件中显示

<% Vector colorCollection = new Vector(); colorCollection.add(

         new org.apache.struts.util.LabelValueBean("Pink", "htmlselect.pink"));

      colorCollection.add(              // Pinklabel htmlselect.pinkvalue

         new org.apache.struts.util.LabelValueBean("Brown", "htmlselect.brown"));

      pageContext.setAttribute("colorCollection", colorCollection);   %>

  collection="colorCollection"  property="value"  //实际值                   

labelProperty="label" />   // labelProperty显示值



4.
显示错误消息: errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("key") );

a.显示全局:

b.显示特定字段: errors.add("checkbox1", new ActionMessage("error.checkbox"));

bundle="HtmlErrors" /> //bundle资源文件



5.
显示信息:

a.//如果为true则从全局中搜索

:ActionMessages actionMessages=new ActionMessages();

actionMessages.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage(“key”));

saveMessages(request,actionMessages);

b.从一定的范围中查找:message”>

message” /> 

:protected void saveMessages(HttpServletRequest request,ActionMessages messages){

...request.setAttribute(GLOBAL_MESSAGE_key,messages); }

 

:Struts Bean标签

1.访问http请求信息和JSP对象

a. id="cookie" name="cookiedemo" value="firsttime"/>  // value为默认值

     <%  if (cookie.getValue().equals("firsttime")) {

         Cookie c = new Cookie("cookiedemo", "Hi Linda!");

         c.setComment("A test cookie");c.setMaxAge(3600);response.addCookie(c);}  %>

输出: cookie" property="value"/>

b. id="lang" name="Accept-Language"/>

c. id="this_session" property="session"/>//检索JSP范围,隐含对象

     property="creationTime"/>

d. id="arg1" name="testarg" value="noarg"/> // value为默认值

  

检索多值:multiple="yes" name="testarg" value="noarg"/>

通过链接传递参数:

循环输出:<% for (int i=0; i ");}  %>



2
.访问WEB应用资源: 

a. e key="hello" arg0="Linda" />  //默认资源文件中:hello=Hello,{0}

<% request.setAttribute("stringBean","hello"); SomeBean bean=new SomeBean();

        bean.setName("hello");   request.setAttribute("someBean",bean);   %>

通过变量名或javaBean得到key值再访问资源文件:

// bundle不能省,只能访问资源文件

b. ,但将WEB资源存放在一个变量中,有forward,page,href

page="/testpage1.jsp"/>

forward="testpage2"/>



3.
定义或输出javaBeanbean:write标签filtertrue时会将特殊符号转换成普通字符串

a.value属性: id="name" value="lib"/>

  nameproperty属性:<% request.setAttribute("sessionBean", session); %>

     sessionBean" property="servletContext"/>

// contextBeanjavax.servlet.ServletContext类型,实例化

   nametype属性(用于复制):

                    type="javax.servlet.ServletContext"/>



三.Struts Logic标签:

1.逻辑判断:(greatEqual,lessEqual,greatThan...

<% Cookie c = new Cookie("username", "Linda");      c.setComment("A test cookie");

         c.setMaxAge(3600);    response.addCookie(c); %>

a. cookie="username" value="Linda">UserName is Linda 

b. <%  SomeBean bean=new SomeBean();    bean.setName("Linda");

        request.setAttribute("someBean",bean);%>

name="someBean" property="name" value="Tom">not Tom

c. <% request.setAttribute("number","100"); %>

name="number" value="100.0a" > "100" 小于"100.0a"



2
.字符串匹配:变量中是否包含指定的字符串

<%  request.setAttribute("authorName", "LindaSun");%>

a. name="authorName" scope="request" value="Linda">

   has the string 'Sun' in it.

   name="authorName" scope="request" value="Linda" /> //还有end属性

location="start">

starts with the string 'Linda'.



3
.判断指定内容是否存在

<% ActionErrors errors = new ActionErrors();

errors.add("totallylost", new ActionMessage("application.totally.lost"));

request.setAttribute(Globals.ERROR_KEY, errors);

request.setAttribute("myerrors",errors);request.setAttribute("emptyString","");%>

a. name="emptyString">  emptyString is empty! 

b. name="noSuchBean" property="noSuchProperty">

  判断指定的安全角色,用户,cookie,headerjavaBean是否存在

c. name="myerrors" >在范围内检索key

message="true">

Globals.MESSAGE_KEY中检索,不同于Globals.ERROR_KEY

 property="noSuchError">

     从指定的ActionMessages对象中检索 

 


4
.请求转发或重定向a. name="index"/>,与配置中同名

b. href=""/>,也有page,hrefforward三种属性



5
.循环遍历//offset为开始位置,indexId为序号

a. 遍历集合<% Vector animals=new Vector(); animals.addElement("Dog");

            animals.addElement("Cat"); animals.addElement("Bird");

request.setAttribute("Animals", animals);%>

.

b. 遍历Map<% HashMap h= new HashMap();String fruits[ ] = {"apple","orange","banana"};

h.put("Fruits", fruits); request.setAttribute("catalog", h); %>

id="map" name="catalog">

      //如果value不是集合就不用嵌套了



四.利用Tiles模板和Tiles组件创建复合式网页

1.web.xml中配置所需要的urllocation

2.建立tilesxml文件放在WEB-INF下:

 

       "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"

       "">

    name="index-definition" path="/layout.jsp">

      <put name="header"  value="header.jsp"/>  

        

        value="footer.jsp"/>    

  name="product-definition"  path="/layout.jsp">

     

        value="header.jsp"/>  

        

        value="footer.jsp"/>   

3.在struts配置文件中配置TilesPlugin插件(ctrl+n:

    config" value="/WEB-INF/tiles-defs.xml"/>

parser-validate" value="true"/> 

4.Action已经存在ActionServlet,并在struts配置文件中配置Action来调用Tiles组件

index"   type="org.apache.struts.actions.ForwardAction"

parameter="index-definition">   

ForwardActionAction内置对象,专门负责转发功能,在将请求转发给parameter的组件

 

5.在index.jsp中插入Tiles组件<%@ page contentType="text/html; charset=UTF-8" %>

<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>

6.layout.jsp文件中进行布局并设计好其他页面:

<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>

 

 

 

 

 

备注:在需要出现的页面只有写就可以插入框架,根据definition中的content改变主体。



7
Tiles组件的组合type="definition"以示区别

     name="sidebar-definition"   path="/sidebar-layout.jsp">

        value="flags.jsp"/>       

     name="index-definition"   path="/layout.jsp">

     

        value="header.jsp"/>

          //将一个组件put成另一个组件的元素

阅读(1438) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~