`
wlh269
  • 浏览: 449624 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts_jstl完全使用

阅读更多
	*****Action中的处理:**************8
		//====普通字符串======//
		request.setAttribute("hello", "Hello World");
		//====对象===============//
		User user=new User();
		user.setUsername("wulihai");
		user.setAge(25);
		Group group=new Group();
		group.setName("地下党");
		user.setGroup(group);
		//=====以上是业务逻辑处理,应该单独放入一个业务处理类中======
		request.setAttribute("user", user);
		//=======Map==============//
		Map elMap=new HashMap();
		elMap.put("key1", "value1");
		elMap.put("key2", "value2");
		request.setAttribute("elMap", elMap);
		//=========集合======//
		List userlist=new ArrayList();
		for (int i=0; i<10; i++) {
			User usr = new User();
			usr.setUsername("USR_" + i);
			usr.setAge(25+i);
			userlist.add(usr);
		}
		request.setAttribute("userlist", userlist);
		
		//=========对象数组=========//
		User[] users = new User[10];
		for (int i=0; i<10; i++) {
			User u = new User();
			u.setUsername("U_" + i);
			users[i] = u;
		}
		request.setAttribute("users", users);
		//=========字符串数组========//
		String[] strArray = new String[]{"a", "b", "c"};
		request.setAttribute("strArray", strArray);
	
	
	
	*******Jsp页面获取值***********************
	
	//=====普通字符串,EL表达式的使用方法$和{},EL表达式的隐含对象pageScope/requestScope/sessionScope/applicationScope等等
			如果为指定scope,它的搜索顺序是pageScope~applicationScope====//	
	hello(el,scope=request): ${requestScope.hello}<br>	
	hello(el,scope=session): ${sessionscope.hello} <br>
	
	//=====对象</li>使用"."来导航
	姓名 : ${user.username}<br>
	年龄 : ${user.age}<br>
	所属组:${user.group.name}<br>
	
	//==Map</li>使用"."来导航
	elMap.value1: ${elMap.key1}<br>
	elMap.value2: ${elMap.key2}<br>
	
	//==集合</li>使用中括号[]加下标数字导航<br>
	userlist[4].username: ${userlist[4].username}<br>
	userlist[4].age: ${userlist[4].age}<br>
	
	//==对象数组</li>使用中括号[]加下标数字导航<br>
	users[5].username:${users[5].username}
	//==字符串数组</li>使用中括号[]加下标数字导航<br>
	strArray[0]:${strArray[0] }<br>
	strArray[1]:${strArray[1] }<br>
	
	//==EL表达式对运算符的支持</li><br>
	1+4:${1+4 }<br>
	9-3:${9-2 }<Br>
	2*3:${2*3 }<br>
	9/2:${9/3 }<br>
	9mod2:${9 mod 2 }<br>
	4div1:${4div 1 }<br>
===================JSTL的核心标签	===================
//==c:out的value属性支持El表达式,<font color='red'>特别注意value后面可以跟El表达式,也可以跟字符串
	 hello(value="${hello}): <c:out value="${hello}"/><br>
	 abcd:<c:out value="${abcd}" /><br>
	 c:out的default属性,此外c:out的defalut属性是默认值,在value为空的情况下取default的值<br>
	 abcd(default="为空"):<c:out value="${abcd}" default="为空"/><br>
	 c:out的escapeXml属性,默认为true,原样输出<br>
     bj(escapeXml="false")<c:out value="${bj}" escapeXml="false"/><br>
     bj(escapeXml="true")<c:out value="${bj}" escapeXml="true"/><br>
     //==c:set/c:remove
     <c:set var="temp" value="${userlist[1].username}"/>
     temp:<c:out value="${temp}"/><br>
     <c:remove var="temp"/>
     temp:<c:out value="${temp}"/><br>
      //==c:if
      <c:if test="${v1 lt v2}">
        v1 小于 v2
      </c:if>	
	//===c:forEach循环输出Map的元素==//
      <c:forEach items="${elMap}" var="m">
      ${m.key},${m.value }<br>
      </c:forEach>
	
	//====c:choose/c:when/c:otherwise============//
      <table border="1">
      <tr>
             <td>姓名</td>
              <td>年龄</td>
               <td>所属组</td>
            </tr>
      <c:choose>
        <c:when test="${(empty userlist)}">//判断userlist是否为空
          <tr>
            <td colspan="3"> 没有合适的数据</td>
          </tr>
       </c:when>
       <c:otherwise>
          //=====迭代集合userlist,从第2个开始,第8个结束,步长为2======//
         <c:forEach items="${userlist}" var="usr" begin="2" end="8" step="2" varStatus="v">
         		//====两层嵌套,c:otherwise内部又好包含又c:when,c:otherwise===//
         		<c:choose>
		           <c:when test="${v.count % 2==0}">//===判断行数是否是偶数,如果是偶数,将背景色改为红色===//
		             <tr bgcolor="red">
		           </c:when>
		           <c:otherwise>
		            <tr>
		           </c:otherwise>
	           </c:choose>
              <td>${usr.username}</td>
              <td>${usr.age }</td>
               <td>${usr.group.name }</td>
            </tr>
         </c:forEach>
       </c:otherwise>
      </c:choose>
      
      //=====c:import,相当于jsp中的include包含某个页面====//
      <c:import url="http://localhost:8080/login_struts"/>
      //=====credirect:重定向=====//
      <c:redirect context="/login_struts" url="/login.jsp"/>
	

	
	
分享到:
评论

相关推荐

    JSP+Struts+JSTL+EL新闻发布系统jsp

    5、本系统采用到的技术:JSP+Struts+JSTL+EL,我本人喜欢JSTL+EL的组合方式,他不景向页面美观! 6、mysql.sql这个文件是mysql的脚本文件,您可以用它来创建数据库! &lt;!DOCTYPE ...

    spring+struts+hibernate+dwr+jstl做的实例

    以用户管理为例,结合spring struts hibernate dwr jstl做的实例,struts hibernate dwr 与Spring完全结合,实现用户列表、信息增、删、改、查、维护时用户重名提示等功能,还包括页面自动转码设置(web.xml),...

    Struts2+Web常使用的功能经验笔记第1季

    Apache的Struts2已经是很流行的MVC Web框架了,很多Web开发人员都是使用它做为Web...像Struts2的常用配置功能笔者就不在说了,在此结合作者的Web相关技术(Struts2、JSTL、EL……)使用经验做个总结,希望与您有个共鸣。

    ## E鹰新闻发布系统 Java

    采用到的技术:JSP+Struts+JSTL+EL,系统特色: 1、前台完全生成静态HTML 2、栏目是无级分类的,您可以随意设置栏目,只要您能想到的,多少都可以:) 3、制作简单,由于本人以前曾经使用过动易网站管理系统,所以在...

    基于struts2注册登录ActionContext.zip

    struts2大量使用拦截器来处理请求,从而允许与业务逻辑控制器 与 servlet-api分离,避免了侵入性(所谓侵入性就是指的这个架构设计出来的部件对系统的影响范围,标签库几乎可以完全替代JSTL的标签库,并且 struts2.x...

    E鹰新闻发布系统111

    采用到的技术:JSP+Struts+JSTL+EL,系统特色: 1、前台完全生成静态HTML 2、栏目是无级分类的,您可以随意设置栏目,只要您能想到的,多少都可以:) 3、制作简单,由于本人以前曾经使用过动易网站管理系统,所以在...

    E鹰新闻发布系统 java源代码

    5、本系统采用到的技术:JSP+Struts+JSTL+EL,我本人喜欢JSTL+EL的组合方式,他不景向页面美观! 6、mysql.sql这个文件是mysql的脚本文件,您可以用它来创建数据库! 7、这个新闻发布系统,由我个人独立开发,在线...

    2023年javaWeb面试题含答案.doc

    Java Web 面试题含答案主要涵盖了 Java Web 开发的核心技术和概念,包括 JSP、Servlet、Cookie、Session、JSTL、J2EE、Struts 等。下面是对这些技术的详细解释和分析: 1. JSP 和 Servlet 的区别、共同点、应用范围...

    JSLTL和EL 教案PPT

    JSTL和EL是大家在JSP前端开发中经常用到的一门标签语言,用熟的话完全可替代JSP脚本或者Struts标签,本PPT对该语言进行了全面的讲解。

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.4.1. Spring AOP还是完全用AspectJ? 6.4.2. Spring AOP中使用@AspectJ还是XML? 6.5. 混合切面类型 6.6. 代理机制 6.7. 编程方式创建@AspectJ代理 6.8. 在Spring应用中使用AspectJ 6.8.1. 在Spring中使用AspectJ...

    Spring-的MVC框架PPT课件.ppt

    11. 可定制的本地化和主题解析:支持在JSP中可选择地使用Spring标签库、支持JSTL、支持Velocity(不需要额外的中间层)等等。 12. Spring Bean的生命周期可以被限制在当前的HTTP Request或者HTTP Session:准确的说...

    spring chm文档

    6.4.1. Spring AOP还是完全用AspectJ? 6.4.2. Spring AOP中使用@AspectJ还是XML? 6.5. 混合切面类型 6.6. 代理机制 6.7. 编程方式创建@AspectJ代理 6.8. 在Spring应用中使用AspectJ 6.8.1. 在Spring中使用...

    Spring中文帮助文档

    6.4.1. Spring AOP还是完全用AspectJ? 6.4.2. Spring AOP中使用@AspectJ还是XML? 6.5. 混合切面类型 6.6. 代理机制 6.6.1. 理解AOP代理 6.7. 以编程方式创建@AspectJ代理 6.8. 在Spring应用中使用AspectJ ...

    Spring API

    6.4.1. Spring AOP还是完全用AspectJ? 6.4.2. Spring AOP中使用@AspectJ还是XML? 6.5. 混合切面类型 6.6. 代理机制 6.6.1. 理解AOP代理 6.7. 以编程方式创建@AspectJ代理 6.8. 在Spring应用中使用AspectJ ...

    java开发常用API

    java开发常用的api包括BeanUtils1.8.3+css2+javascript+JavaScript网页设计300例+jQuery+JSTL+mysql+oracle+servlet+Spring+Framework+开发参考手册+Struts2+tomcat-docs(Servlet&JSP API)+W3C+网页制作完全手册

    Spring 2.0 开发参考手册

    6.4.1. Spring AOP还是完全用AspectJ? 6.4.2. Spring AOP中使用@AspectJ还是XML? 6.5. 混合切面类型 6.6. 代理机制 6.7. 编程方式创建@AspectJ代理 6.8. 在Spring应用中使用AspectJ 6.8.1. 在Spring中使用...

    java开源包8

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    freemarker总结

    这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: &lt;#if condition&gt;... &lt;#elseif condition&gt;... &lt;#elseif condition&gt;... &lt;#else&gt; ... 例子如下: (age&gt;60)&gt;老年人 ...

    基于Java的客户关系管理系统的设计与实现(全文).docx

    Spring-mvc框架的Controller目前已经可以完全替代Struts的ction来处理扫瞄器的请求,而在配置上,Spring-mvc比Struts基于Java的客户关系管理系统的设计与实现(全文)全文共6页,当前为第2页。基于Java的客户关系管理...

    java开源包1

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

Global site tag (gtag.js) - Google Analytics