`
zyh2007000zyh
  • 浏览: 11838 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

学习资料

    博客分类:
  • jsp
阅读更多
一.html标签

1.html元素的标签:

a1.<html:link forward="index"> 链接<global-forwards>中的name </html:link>

a2. <html:link href="http://www.baidu.com" > 链接到站点外   </html:link>

a3. <html:link page="/HtmlBasic.do">同一个应用     </html:link>

如:包含请求参数: <html:link page="/HtmlBasic.do?prop1=abc&amp;prop2=123" />

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

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

<html:link page="/HtmlBasic.do" paramId="urlParamName" paramName="stringBean" />

<jsp:useBean id="javaBean" scope="page" class="CustomerBean" />

<jsp:setProperty name="javaBean" property="name" value="weiqin" /> //要有范围

<html:link page="/Html" paramId="url" paramName="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);%>

<html:link page="/HtmlBasic.do" name="map"> url </html:link>

b.<html:img>: <html:img page="/struts-power.gif" /> //也可以包含单个或多个请求变量

<html:img src="/struts-power.gif" paramId="urlParamName" paramName="stringBean" />

<html:img page="/struts-power.gif" name="map" />



2.基本表单标签:<html:form>,<html:text>,<html:hidden>,<html:submit>,<html:reset>

<html:cancel>Cancel</html: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.下拉列表和多选列表

<html:select property="colors" size="6" multiple="true" > // multiple下拉可多选

<html:option value="htmlselect.orange">Orange</html:option> //基本的页面输入

<html:option value="red" bundle="htmlselect.Colors" key="red"/>//从资源文件中显示

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

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

      colorCollection.add(              // Pink为label htmlselect.pink为value

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

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

<html:options  collection="colorCollection"  property="value"  //实际值                   

labelProperty="label" />   </html:select>// labelProperty显示值



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

a.显示全局:<html:errors property="org.apache.struts.action.GLOBAL_MESSAGE"/>

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

<html:errors property="checkbox1" bundle="HtmlErrors" /> //bundle资源文件



5.显示信息<html:messages>:

a.<html:messages id=”message” message=”true”/>//如果为true则从全局中搜索

则:ActionMessages actionMessages=new ActionMessages();

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

saveMessages(request,actionMessages);

b.从一定的范围中查找:<html:messages id=”message”>

<bean:write name=”message” />  </html:messages>

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

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



二:Struts Bean标签

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

a. <bean:cookie 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);}  %>

输出: <bean:write name="cookie" property="value"/>

b. <bean:header id="lang" name="Accept-Language"/> <bean:write name="lang"/>

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

   <bean:write name="this_session"  property="creationTime"/>

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

   <bean:write name="arg1"/>

检索多值:<bean:parameter id="arg2" multiple="yes" name="testarg" value="noarg"/>

通过链接传递参数:<html:link page="/this.jsp?testarg=123&testarg=456&testarg=789">

循环输出:<% for (int i=0; i <arg2.length; i++) {out.write(arg2[i] + "<BR>");}  %>



2.访问WEB应用资源:  <message-resources parameter="res" key="special" />

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

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

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

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

<bean:message bundle="special" name="stringBean"/>// bundle不能省,只能访问资源文件

<bean:message bundle="special" name="someBean" property="name"/>

b. <bean:include>同<jsp:include>,但将WEB资源存放在一个变量中,有forward,page,href

<bean:include id="tp1" page="/testpage1.jsp"/> <bean:write name="tp1" filter="false"/>

<bean:include id="tp2" forward="testpage2"/> <bean:write name="tp2" filter="false"/>



3.定义或输出javaBean,bean:write标签filter为true时会将特殊符号转换成普通字符串

a.value属性:<bean:define id="name" value="lib"/><bean:write name="name"/>

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

     <bean:define id="contextBean" name="sessionBean" property="servletContext"/>

// contextBean为javax.servlet.ServletContext类型,实例化

<bean:write name="contextBean" property="servletContextName"/>

   name和type属性(用于复制):<bean:define id="contextBean_copy" name="contextBean"

                    type="javax.servlet.ServletContext"/>

<bean:write name="contextBean_copy" property="majorVersion"/>



三.Struts Logic标签:

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

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

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

a.<logic:equal cookie="username" value="Linda">UserName is Linda  </logic:equal>

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

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

<logic:notEqual name="someBean" property="name" value="Tom">not Tom </logic:notEqual>

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

<logic:lessThan name="number" value="100.0a" > "100" 小于"100.0a"</logic:lessThan >



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

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

a.<logic:match name="authorName" scope="request" value="Linda">

   <bean:write name="authorName"/> has the string 'Sun' in it.</logic:match>

  <logic:notMatch name="authorName" scope="request" value="Linda" /> //还有end属性

<logic:match name="authorName" scope="request" value="Linda" location="start">

<bean:write name="authorName"/> starts with the string 'Linda'.</logic:match>



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.<logic:empty name="emptyString">  emptyString is empty!  </logic:empty>

b.<logic:notPresent name="noSuchBean" property="noSuchProperty">

  判断指定的安全角色,用户,cookie,header或javaBean是否存在 </logic:notPresent>

c. <logic:messagesPresent name="myerrors" >在范围内检索key</logic:messagesPresent>

<logic:messagesNotPresent message="true">

从Globals.MESSAGE_KEY中检索,不同于Globals.ERROR_KEY </logic:messagesNotPresent>

<logic:messagesNotPresent  property="noSuchError">

     从指定的ActionMessages对象中检索  </logic:messagesNotPresent>




4.请求转发或重定向a.<logic:forward name="index"/>,与配置中<global-forwards>同名

b.<logic:redirect href="http://www.apache.org"/>,也有page,href和forward三种属性



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

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

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

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

<logic:iterate id="element" indexId="index" name="Animals" offset="1" length="2">

<bean:write name="index"/>.<bean:write name="element"/><BR></logic:iterate>

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

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

<logic:iterate id="map" name="catalog"> <bean:write name="map" property="key"/><BR>

<logic:iterate id="val" name="map" property="value"><bean:write name="val"/>

</logic:iterate>   </logic:iterate>   //如果value不是集合就不用嵌套了



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

1.在web.xml中配置所需要的<tablib>url和location

2.建立tiles的xml文件放在WEB-INF下:<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE tiles-definitions PUBLIC

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

       "http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">

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

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

      <put name="content" value="indexContent.jsp"/>  

      <put name="footer"  value="footer.jsp"/> </definition>  

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

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

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

      <put name="content" value="productContent.jsp"/>  

      <put name="footer"  value="footer.jsp"/>    </definition>

</tiles-definitions>

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

<plug-in className="org.apache.struts.tiles.TilesPlugin" >

    <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml"/>

<set-property property="definitions-parser-validate" value="true"/>  </plug-in>

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

<action path="/index"   type="org.apache.struts.actions.ForwardAction"

parameter="index-definition">    </action>

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



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

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

<tiles:insert definition="index-definition"/>

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

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

<table width="100%" height="100%">

  <tr><td height="15%"><tiles:insert attribute="header"/> </td>  </tr>

  <tr><td valign="top"><tiles:insert attribute="content"/> </td> </tr>

  <tr><td valign="bottom"><tiles:insert attribute="footer"/></td></tr>  </table>

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



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

<tiles-definitions>

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

      <put name="top"  value="flags.jsp"/>        </definition>

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

      <put name="sidebar" value="sidebar-definition" type="definition"/>

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

   </definition>       </tiles-definitions>//将一个组件put成另一个组件的元素
分享到:
评论

相关推荐

    AO学习资料 AO学习资料 AO学习资料 AO学习资料 AO学习资料 AO学习资料

    【描述】:“AO学习资料”的重复描述表明这个压缩包包含了关于AO主题的深度学习材料,可能是教程、案例分析、实践指南或者理论讲解等内容。 【标签】:“AO 学习 资料”进一步确认了这些内容的教育性质,意在帮助...

    测试学习材料,仅供学习的文档

    "汇总总结"这个压缩包子文件的文件名称暗示,里面可能包含了一份综合性的学习资料,涵盖了某个或多个测试主题的精华内容。这样的文档通常是对某一课程、项目或者技术的全面梳理,它可能包括了各个阶段的测试策略、...

    学习资料学习资料学习资料学习资料学习资料学习资料学习资料学习资料

    学习资料学习资料学习资料学习资料学习资料学习资料学习资料学习资料学习资料学习资料学习资料学习资料

    PLSQL学习资料 PLSQL学习资料 PLSQL学习资料

    PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 PLSQL学习资料 ...

    宣传学习资料!宣传学习资料!

    【标题】:“宣传学习资料!宣传学习资料!”这个标题表明我们面对的是一份与学习相关的宣传材料,可能是为了推广教育课程、学术活动或是分享学习资源。这类资料通常包含课程介绍、教师团队信息、学习方法指南等内容...

    ccie 学习资料集合1 思科标准培训教材

    《CCIE学习资料集合1 思科标准培训教材》是一份极为宝贵的资源,对于渴望深入理解和掌握思科网络技术,尤其是准备CCIE认证考试的学者来说,无疑是一份不可或缺的宝典。这份压缩包文件中包含了丰富的学习材料,旨在...

    Rails 学习资料

    标题“Rails学习资料”表明这是一份关于Rails框架的学习资源,可能包含教程、示例代码、最佳实践等内容,适合初学者和有一定经验的开发者。描述中的“仅仅三分,就可以帮助你搭好框架”,暗示这份资料可能包含快速...

    sap学习资料,全套

    SAP的学习资料是深入理解并掌握这一系统的关键,特别是对于希望在IT行业中寻求高薪职位的人员来说,SAP技能具有极高的价值。 标题" sap学习资料,全套" 提供的信息表明,这是一整套完整的SAP学习资源,涵盖了SAP的多...

    linux学习资料大全

    这份"Linux学习资料大全"包含的书籍是Linux初学者和进阶者宝贵的资源,让我们逐一探讨这些书籍能提供的知识内容。 首先,"Linux内核完全注释-1.9.5.pdf"是一本对早期版本Linux内核进行详尽注解的书籍。它涵盖了内核...

    日语学习资料

    标题中的“日语学习资料”表明这是一份与学习日语相关的资源集合,可能是课程教材、练习册或者辅助工具。描述中的“想要的来接了”暗示这些资料可能是对学习者非常有益的,并且可能包含了丰富的学习内容。 标签...

    数据治理CDGA学习资料(新)

    内容概要:包含章节语义图、数据治理学习资料 *******练习excel格式,支持导入软件APP练习打分******* *******涵盖CDGA考试大部分知识点******* *******数据治理老鸟倾心整理********** *******能够减少学生学习的...

    计算机网络学习资料.rar

    本压缩包“计算机网络学习资料.rar”提供了一系列的学习资源,旨在帮助学生和自学者深入理解计算机网络的基本概念和技术。 首先,武汉大学的教学PPT是高质量的学习材料,通常包含了教授对课程内容的详尽解释和示例...

    数字电路学习资料//考研资料

    《数字电路学习资料//考研资料》是一份专为电子学专业学生及考研者设计的宝贵资源,涵盖了数字电路的核心知识和实践应用。这份压缩包包含了丰富的教学材料,旨在帮助学习者深入理解数字电路的基本概念、原理及解题...

    Flex 学习资料flex学习资料

    flex学习资料flex学习资料flex学习资料

    【推荐】超全的华为5G学习资料合集(39份).zip

    推荐,超全的华为5G学习资料合集,共39份。 华为5G-调度流程培训文档 华为5G-功率控制培训文档 华为5G-上下行解耦培训文档 华为5G-新空口协议培训文档 华为5G-DC双连接原理培训文档 华为5G-Massive MIMO原理和增益...

    CAD学习材料.pdf

    CAD学习材料.pdf 本资源摘要信息主要介绍了 AutoCAD 软件的使用方法和技巧,涵盖了基础绘图、图形编辑、文本标注、快捷键等方面的知识点。 基础绘图 * 使用快捷键 F3 切换打开和关闭捕捉状态,F8 切换打开/关闭...

    lwip学习资料

    标题"lwip学习资料"表明这是一份关于lwip的学习资源,可能包含文档、教程或者源代码分析,旨在帮助学习者理解和掌握lwip的工作原理和使用方法。学习lwip对于嵌入式开发工程师来说非常重要,因为它可以帮助他们构建...

    人工智能学习资料

    人工智能学习资料包含了大量的资源,是探索和学习人工智能领域的一个宝贵宝库。这个压缩包主要涵盖了机器学习和深度学习这两个核心主题,以及相关的PDF教程。让我们深入探讨这些知识点,以便更好地理解并掌握人工...

    CST与之有关的学习资料.rar

    本压缩包“CST与之有关的学习资料.rar”集合了丰富的学习资源,无论你是初学者还是资深用户,都能从中受益匪浅。 首先,CST的学习资料包括了对软件的基本操作介绍,如界面布局、工作流程、建模方法等,这些都是进行...

Global site tag (gtag.js) - Google Analytics