﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-小人物_Amor Blog-随笔分类-web</title><link>http://www.blogjava.net/xue/category/54374.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 16 Dec 2016 09:58:57 GMT</lastBuildDate><pubDate>Fri, 16 Dec 2016 09:58:57 GMT</pubDate><ttl>60</ttl><item><title>JS-SDK的使用（微信多次分享）</title><link>http://www.blogjava.net/xue/archive/2016/12/16/432130.html</link><dc:creator>小人物_Amor</dc:creator><author>小人物_Amor</author><pubDate>Fri, 16 Dec 2016 09:05:00 GMT</pubDate><guid>http://www.blogjava.net/xue/archive/2016/12/16/432130.html</guid><wfw:comment>http://www.blogjava.net/xue/comments/432130.html</wfw:comment><comments>http://www.blogjava.net/xue/archive/2016/12/16/432130.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xue/comments/commentRss/432130.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xue/services/trackbacks/432130.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 需求描述：公司通过APP产品分享出去的需求和简历是做了一个H5页面作为分享的链接，通过APP分享出去自然是没问题，也是第一次分享，之后通过微信打开H5页面后想再次分享出去时候就变成了一个链接了，而不是自己定制的卡片模式，初次分享后如下：但是打开以后的H5页面再分享出去就变成这个样子了：也就是说需要在H5页面做微信分享的相关工作，JS-SDK上场了，首先看看JS-SDK的官方说明文档：https:/...&nbsp;&nbsp;<a href='http://www.blogjava.net/xue/archive/2016/12/16/432130.html'>阅读全文</a><img src ="http://www.blogjava.net/xue/aggbug/432130.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xue/" target="_blank">小人物_Amor</a> 2016-12-16 17:05 <a href="http://www.blogjava.net/xue/archive/2016/12/16/432130.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java web面试题集锦</title><link>http://www.blogjava.net/xue/archive/2014/10/08/418517.html</link><dc:creator>小人物_Amor</dc:creator><author>小人物_Amor</author><pubDate>Wed, 08 Oct 2014 08:50:00 GMT</pubDate><guid>http://www.blogjava.net/xue/archive/2014/10/08/418517.html</guid><wfw:comment>http://www.blogjava.net/xue/comments/418517.html</wfw:comment><comments>http://www.blogjava.net/xue/archive/2014/10/08/418517.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xue/comments/commentRss/418517.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xue/services/trackbacks/418517.html</trackback:ping><description><![CDATA[<div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">1.JDK和JRE的区别：</span></div><div style="background-color: inherit;">&nbsp; &nbsp;&nbsp;<span style="background-color: inherit; font-size: 14px;">JDK是Java Development Kit。是面向开发人员使用的SDK，提供了java的开发环境以及运行环境。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; &nbsp;JRE是Java Runtime Enviroment。是指java的运行环境，是面向java程序得使用者，而不是开发者。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">2.序列化的目的：</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp;&nbsp;Java中，一切都是对象，在分布式环境中经常需要将Object从这一端网络或设备传递到另一端。这就需要有一种可以在两端传输数据的协议。Java序列化机制就是为了解决这个问题而产生。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; 以某种存储形式使自定义对象持久化。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; 将对象从一个地方传到另一个地方。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">3.equals和==的区别：</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; 基本数据类型应该用&#8220;==&#8221;来比较他们的值。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; 当比较对象时候，如果对象里重写了equals方法，比如String，Integer，Date这些类，比较对象的内存地址应该用&#8220;==&#8221;，比较对象的值用&#8220;equals&#8221;，如果没有重写equals方法，两者本质上是相同的，都是比较值。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">4.什么时候使用Comparator and Comparable 接口</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; 当需要排序的集合或数组不是单纯的数字类型的时候，通常可以使用Comparator或Comparable，以简单的方式实现对象排序和自定义排序。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp;&nbsp;Comparable用在对象本身，说明这个对象是可以被比较的，也就是说可以被排序的。（String和Integer之所以可以比较大小，是因为它们都实现了Comparable接口，并实现了compareTo()方法）。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; Compator用在对象外，相当于定义了一个排序算法。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">5.转发和重定向的区别：</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; 转发时URL不会改变，request请求内的对象将可以继续使用，重定向时浏览器URL会改变，之前的request会丢失，因此request里的数据也不会得到。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; 通常情况下转发速度更快，而且能保持request内的对象，但是转发之后，浏览器的连接还在先前页面所以可以重载先前页面。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; 转发：</span>request.getRequestDispatcher("apage.jsp").forward(request, response);<br style="background-color: inherit;" />&nbsp; &nbsp;<span style="background-color: inherit; font-size: 14px;">重定向：</span>response.sendRedirect("apage.jsp");</div><div style="background-color: inherit;">&nbsp; &nbsp;</div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">6.编译期异常和运行时异常</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; 编译时异常可以捕捉，比如我们读写文件时候会抛出IOException，操作数据库时会有SQLException，运行时异常不可以捕捉，比如数组下标溢出，空指针异常等<br style="background-color: inherit;" /><br style="background-color: inherit;" /></span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">7.Struts1原理和Struts2原理以及区别和联系，在什么项目中用过，有什么体会?</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp;<strong style="background-color: inherit;">&nbsp;struts1原理：</strong>客户端发送HttpServletRequest请求给ActionServlet，ActionServlet会检索和用户请求匹配的ActionMapping实例，如果不存在就返回请求路径无效的信息，如果存在就会把请求的表单数据保存到ActionForm中去，如果ActionForm不存在就会创建一个ActionForm对象，然后再根据配置信息决定是否需要表单验证，如果需要验证就调用ActionForm的validate()方法，验证通过后ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action，如果相应的Action实例不存在就先创建这个Action然后调用Action的execute()方法。Action的execute()方法返回一个ActionForward对象，ActionServlet再把客户请求转发给ActionForward对象指向的jsp组件。</span></div><div style="background-color: inherit;">&nbsp;&nbsp;<strong style="background-color: inherit;">&nbsp;</strong><span style="background-color: inherit; font-size: 14px;"><strong style="background-color: inherit;">struts2原理：</strong>客户端发送HttpServletRequest请求，请求被提交到一系列的Filter，首先是ActionContextCleanUp，然后是其他Filter，最后是FilterDispatcher。FilterDispatcher是Struts2的核心，就是MVC的Struts2实现中控制层的核心。FilterDispatcher询问ActionMapper决定需要调用哪个Action，FilterDispatcher会把请求交给ActionProxy，ActionProxy会根据Struts.xml配置文件找到需要调用的Action类。ActionProxy创建一个ActionInvocation实例，同时ActionInvocation通过代理模式调用Action类，调用之前会加载Action相关的所有拦截器，一旦Action执行完毕，ActionInvocation根据Struts.xml配置文件返回对应的result。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp;&nbsp;<strong style="background-color: inherit;">区别：</strong>1.Struts1是通过Servlet启动的，struts1要求Action继承一个抽象类，而不是接口，Struts2的Action类可以实现一个Action接口也可以实现其他接口。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2.struts1的Action是单例模式线程是不安全的，struts2是线程安全的，Action为每一个请求都生成了一个实例。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;3.struts1是以ActionServlet为核心控制器，struts2是以FilterDispatcher为核心控制器。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span><span style="background-color: #ffffff; color: #333333; font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; line-height: 16px; font-size: 14px;"><strong style="background-color: inherit;">执行流程:</strong></span></div><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><p style="margin: 5px 0px; background-color: inherit;">      <span style="background-color: inherit; font-size: 14px;">  a)struts1&nbsp;<br style="background-color: inherit;" />                    jsp发起httprequest请求-&gt;servlet捕获-&gt;struts.xml-&gt;namespace+ActionName-&gt; Action-&gt;填充表单setXxx()-&gt;action.execute()-&gt;&#8221;success&#8221;-&gt;Result-&gt;设置request属性-&gt;跳转目标页<br style="background-color: inherit;" />             b) Action(jsp发起httprequest请求，被过滤器捕获)-&gt;FilterDispatcher-&gt;struts.xml-&gt;namespace+ActionName-&gt;new Action-&gt;填充表单setXxx()-&gt;action.execute()-&gt;&#8221;success&#8221;-&gt;Result-&gt;设置request属性-&gt;跳转目标页</span></p></pre><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">8.spring原理</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp;&nbsp;spring的最大作用ioc/di,将类与类的依赖关系写在配置文件中，程序在运行时根据配置文件动态加载依赖的类，降低的类与类之间的藕合度。它的原理是在applicationContext.xml加入bean标记,在bean标记中通过class属性说明具体类名、通过property标签说明该类的属性名、通过constructor-args说明构造子的参数。其一切都是反射，当通过applicationContext.getBean(&#8220;id名称&#8221;)得到一个类实例时，就是以bean标签的类名、属性名、构造子的参数为准，通过反射实例对象，唤起对象的set方法设置属性值、通过构造子的newInstance实例化得到对象。正因为spring一切都是反射，反射比直接调用的处理速度慢，所以这也是spring的一个问题。<br style="background-color: inherit;" />&nbsp; &nbsp; spring第二大作用就是aop，其机理来自于代理模式，代理模式有三个角色分别是通用接口、代理、真实对象。代理、真实对象实现的是同一接口，将真实对象作为代理的一个属性，向客户端公开的是代理，当客户端调用代理的方法时，代理找到真实对象，调用真实对象方法，在调用之前之后提供相关的服务，如事务、安全、日志。其名词分别是代理、真实对象、装备、关切点、连接点。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">9.简要概述一下SpringMVC和StrutsMVC</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp;&nbsp;Spring的MVC框架主要由DispatcherServlet、处理器映射、处理器、视图解析器、视图组成</span>。</div><div style="background-color: inherit;">&nbsp; &nbsp; &nbsp;&nbsp;<span style="background-color: inherit; font-size: 14px;">&nbsp; 1）DispatcherServlet接收到请求后，根据对应配置文件中配置的处理器映射，找到对应的处理器映射项（HandlerMapping），根据配置的映射规则，找到对应的处理器（Handler）。<br style="background-color: inherit;" />&nbsp; &nbsp; &nbsp; &nbsp; 2）调用相应处理器中的处理方法，处理该请求，处理器处理结束后会将一个ModelAndView类型的数据传给DispatcherServlet，这其中包含了处理结果的视图和视图中要使用的数据。<br style="background-color: inherit;" />&nbsp; &nbsp; &nbsp; &nbsp; 3）DispatcherServlet 根据得到的ModelAndView中的视图对象，找到一个合适的ViewResolver（视图解析器），根据视图解析器的配 置，DispatcherServlet将视图要显示的数据传给对应的视图，最后给浏览器构造一个HTTP响应。<br style="background-color: inherit;" /><br style="background-color: inherit;" />&nbsp; &nbsp; &nbsp; &nbsp; DispatcherServlet是整个Spring MVC的核心。它负责接收HTTP请求组织协调Spring MVC的各个组成部分。其主要工作有以下三项：<br style="background-color: inherit;" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1）截获符合特定格式的URL请求。<br style="background-color: inherit;" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2）初始化DispatcherServlet上下文对应的WebApplicationContext，并将其与业务层、持久化层的WebApplicationContext建立关联。<br style="background-color: inherit;" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3）初始化Spring MVC的各个组成组件，并装配到DispatcherServlet中。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; StrutsMVC</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; 1.当启动容器时，容器(tomcat、weblogic)实例化ActionServlet,初始化ActionServlet，在初始化<br style="background-color: inherit;" />ActionServlet时加载struts-config.xml文件。<br style="background-color: inherit;" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2.当客户通过url.do将请求发给ActionServlet,ActionServlet将处理转发给助手RequestProcessor,RequestProcess通过struts-config.xml找到对应的actionForm及 action，如果有ActionForm用已有的，没有通过类的反射实例化一个新的ActionForm,放置到作用域对象，通过反射<br style="background-color: inherit;" /><ol style="background-color: inherit;"><li style="background-color: inherit;">将表单域的值填充到actionForm中。如果有Action用已有的，<span style="background-color: inherit; font-size: 18px;">没有产生一个新的，通过反射调用action实例的execute方法，在执行前将actionForm通过参数注入到execute方法中。</span></li><li style="background-color: inherit;"><span style="background-color: inherit; font-size: 18px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;3.execute方法执行结束前通过actionMapping找到actionForward转发</span>到另一个页面。</li></ol></span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">10.Servlet的工作原理、生命周期</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; Servlet的工作原理：</span></div><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; &nbsp; &nbsp; Servlet 生命周期：Servlet 加载---&gt;实例化---&gt;服务---&gt;销毁。</span><div style="background-color: inherit;"></div><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; &nbsp; &nbsp; init（）：在Servlet的生命周期中，仅执行一次init()方法。它是在服务器装入Servlet时执行的，负责初始化Servlet 对象。可以配置服务器，以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet，都不会重复执行 init（）。</span><div style="background-color: inherit;"></div><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; &nbsp; &nbsp; service（）：它是Servlet的核心，负责响应客户的请求。每当一个客户请求一个HttpServlet对象，该对象的 Service()方法就要调用，而且传递给这个方法一个&#8220;请求&#8221;（ServletRequest）对象和一个&#8220;响应&#8221; （ServletResponse）对象作为参数。在HttpServlet中已存在Service()方法。默认的服务功能是调用与HTTP请求的方法 相应的do功能。</span><div style="background-color: inherit;"></div><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; &nbsp; &nbsp; destroy（）：&nbsp;仅执行一次，在服务器端停止且卸载Servlet时执行该方法。当Servlet对象退出生命周期时，负责释放占用的资 源。一个Servlet在运行service()方法时可能会产生其他的线程，因此需要确认在调用destroy()方法时，这些线程已经终止或完成。</span><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; Servlet工作原理：</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;1、首先简单解释一下Servlet接收和响应客户请求的过程，首先客户发送一个请求，Servlet是调用service()方法对请求进行响应 的，通过源代码可见，service()方法中对请求的方式进行了匹配，选择调用doGet,doPost等这些方法，然后再进入对应的方法中调用逻辑层 的方法，实现对客户的响应。在Servlet接口和GenericServlet中是没有doGet（）、doPost（）等等这些方法 的，HttpServlet中定义了这些方法，但是都是返回error信息，所以，我们每次定义一个Servlet的时候，都必须实现doGet或 doPost等这些方法。<br style="background-color: inherit;" />&nbsp; &nbsp; &nbsp; &nbsp; 2、每一个自定义的Servlet都必须实现Servlet的接口，Servlet接口中定义了五个方法，其中比较重要的三个方法涉及到 Servlet的生命周期，分别是上文提到的init(),service(),destroy()方法。GenericServlet是一个通用的，不 特定于任何协议的Servlet,它实现了Servlet接口。而HttpServlet继承于GenericServlet，因此 HttpServlet也实现了Servlet接口。所以我们定义Servlet的时候只需要继承HttpServlet即可。<br style="background-color: inherit;" />&nbsp; &nbsp; &nbsp; &nbsp; 3、Servlet接口和GenericServlet是不特定于任何协议的，而HttpServlet是特定于HTTP协议的类，所以 HttpServlet中实现了service()方法，并将请求ServletRequest、ServletResponse 强转为HttpRequest 和 HttpResponse。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">11.OOA、OOD、OOP含义</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp;&nbsp;Object-Oriented Analysis：面向对象分析方法</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; Object-Oriented Design：面向对象设计</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; Object Oriented Programming：面向对象编程</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; OOA是对系统业务调查了解之后根据面向对象的思想进行系统分析，在OOA分析的基础上对系统根据面向对象的思想进行系统设计，从而能够直接进行OOP面向对象编程。</span></div><div style="background-color: inherit;"></div><div style="background-color: inherit;">12.mysql分页查询</div><div style="background-color: inherit;">&nbsp;&nbsp;<span style="background-color: inherit; font-size: 14px;">&nbsp;对于有大数据量的mysql表来说，使用LIMIT分页存在很严重的性能问题。</span></div><div style="background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp;查询从第1000000之后的30条记录：</span></div><p style="margin: 5px 0px; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; &nbsp; &nbsp; SQL代码1：平均用时6.6秒 SELECT * FROM `cdb_posts` ORDER BY pid LIMIT 1000000 , 30</span></p><p style="margin: 5px 0px; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; &nbsp; &nbsp; SQL代码2：平均用时0.6秒 SELECT * FROM `cdb_posts` WHERE pid &gt;= (SELECT pid FROM `cdb_posts` ORDER BY pid LIMIT 1000000 , 1) LIMIT 30</span></p><p style="margin: 5px 0px; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; 因为要取出所有字段内容，第一种需要跨越大量数据块并取出，而第二种基本通过直接根据索引字段定位后，才取出相应内容，效率自然大大提升。</span></p><p style="margin: 5px 0px; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; 可以看出，越往后分页，LIMIT语句的偏移量就会越大，两者速度差距也会越明显。</span></p><p style="margin: 5px 0px; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; 实际应用中，可以利用类似策略模式的方式去处理分页，比如判断如果是一百页以内，就使用最基本的分页方式，大于一百页，则使用子查询的分页方式。</span></p><p style="margin: 5px 0px; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; Oracle查询：SELECT&nbsp;*&nbsp;FROM&nbsp;</span><span style="background-color: inherit; font-size: 14px;">(</span><span style="background-color: inherit; font-size: 14px;">SELECT&nbsp;A.*,&nbsp;ROWNUM&nbsp;RN&nbsp;</span><span style="background-color: inherit; font-size: 14px;">FROM&nbsp;(SELECT&nbsp;*&nbsp;FROM&nbsp;TABLE_NAME)&nbsp;A&nbsp;</span><span style="background-color: inherit; font-size: 14px;">WHERE&nbsp;ROWNUM&nbsp;&lt;=&nbsp;40</span><span style="background-color: inherit; font-size: 14px;">)&nbsp;</span><span style="background-color: inherit; font-size: 14px;">WHERE&nbsp;RN&nbsp;&gt;=&nbsp;21</span></p><p style="margin: 5px 0px; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></p><p style="margin: 5px 0px; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">13.单例模式、工厂模式、代理模式</span></p><p style="margin: 5px 0px; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp; &nbsp; 枚举实现单例模式：</span></p><p style="margin: 5px 0px; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="background-color: inherit; font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; line-height: 16px; color: #0000ff;">public</span><span style="background-color: inherit; font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; line-height: 16px;">&nbsp;</span><span style="background-color: inherit; font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; line-height: 16px; color: #0000ff;">enum</span><span style="background-color: inherit; font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; line-height: 16px;">&nbsp;Singleton {</span></span></p><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">    <span style="background-color: inherit; color: #008000;">/**</span><span style="background-color: inherit; color: #008000;"><br style="background-color: inherit;" />     * 定义一个枚举的元素，它就代表了Singleton的一个实例。<br style="background-color: inherit;" />     </span><span style="background-color: inherit; color: #008000;">*/</span><br style="background-color: inherit;" />    <br style="background-color: inherit;" />    uniqueInstance;<br style="background-color: inherit;" />    <br style="background-color: inherit;" />    <span style="background-color: inherit; color: #008000;">/**</span><span style="background-color: inherit; color: #008000;"><br style="background-color: inherit;" />     * 单例可以有自己的操作<br style="background-color: inherit;" />     </span><span style="background-color: inherit; color: #008000;">*/</span><br style="background-color: inherit;" />    <span style="background-color: inherit; color: #0000ff;">public</span> <span style="background-color: inherit; color: #0000ff;">void</span> singletonOperation(){<br style="background-color: inherit;" />        <span style="background-color: inherit; color: #008000;">//</span><span style="background-color: inherit; color: #008000;">功能处理</span><span style="background-color: inherit; color: #008000;"><br style="background-color: inherit;" /></span>    }<br style="background-color: inherit;" />  }</span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">  懒汉同步单例模式：</span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">  public class LazySingleton { </span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">    private static LazySingleton instance = null; </span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">    /** </span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">     * 私有默认构造子 </span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">     */ </span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">    private LazySingleton(){} </span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">    /** </span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">     * 静态工厂方法 </span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">     */ </span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">    public static synchronized LazySingleton getInstance(){ </span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">        if(instance == null){ </span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">            instance = new LazySingleton(); </span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">        } </span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">        return instance; </span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">    } </span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">}</span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">工厂模式：<a href="http://www.cnblogs.com/java-my-life/archive/2012/03/28/2418836.html" style="background-color: inherit; cursor: pointer; font-family: 微软雅黑;">http://www.cnblogs.com/java-my-life/archive/2012/03/28/2418836.html</a></span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">代理模式：<a href="http://yangguangfu.iteye.com/blog/815787" style="background-color: inherit; cursor: pointer; font-family: 微软雅黑;">http://yangguangfu.iteye.com/blog/815787</a></span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><span style="background-color: inherit; font-size: 14px;">未完待续...</span></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><br style="background-color: inherit;" /></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><br style="background-color: inherit;" /></pre><pre style="font-family: Monaco, Consolas, Courier, 'Lucida Console', monospace; font-size: 12px; line-height: 16px; font-style: normal; background-color: inherit;"><br style="background-color: inherit;" /></pre><div style="background-color: inherit;"><span style="background-color: inherit; color: #000000; font-family: 微软雅黑; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-size: 14px;"><br style="background-color: inherit;" /></span><div style="background-color: inherit; color: #000000; font-family: 微软雅黑; font-size: 18.18181800842285px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit; color: #000000; font-family: 微软雅黑; font-size: 18.18181800842285px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit; color: #000000; font-family: 微软雅黑; font-size: 18.18181800842285px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit; color: #000000; font-family: 微软雅黑; font-size: 18.18181800842285px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit; color: #000000; font-family: 微软雅黑; font-size: 18.18181800842285px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit; color: #000000; font-family: 微软雅黑; font-size: 18.18181800842285px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div><div style="background-color: inherit; color: #000000; font-family: 微软雅黑; font-size: 18.18181800842285px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="background-color: inherit; font-size: 14px;"><br style="background-color: inherit;" /></span></div></div></div><img src ="http://www.blogjava.net/xue/aggbug/418517.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xue/" target="_blank">小人物_Amor</a> 2014-10-08 16:50 <a href="http://www.blogjava.net/xue/archive/2014/10/08/418517.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转】Servlet 生命周期、工作原理</title><link>http://www.blogjava.net/xue/archive/2014/10/08/418513.html</link><dc:creator>小人物_Amor</dc:creator><author>小人物_Amor</author><pubDate>Wed, 08 Oct 2014 07:16:00 GMT</pubDate><guid>http://www.blogjava.net/xue/archive/2014/10/08/418513.html</guid><wfw:comment>http://www.blogjava.net/xue/comments/418513.html</wfw:comment><comments>http://www.blogjava.net/xue/archive/2014/10/08/418513.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xue/comments/commentRss/418513.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xue/services/trackbacks/418513.html</trackback:ping><description><![CDATA[<div><div id="cnblogs_post_body"><ol><li>Servlet 生命周期：Servlet 加载---&gt;实例化---&gt;服务---&gt;销毁。</li><li>init（）：在Servlet的生命周期中，仅执行一次init()方法。它是在服务器装入Servlet时执行的，负责初始化Servlet 对象。可以配置服务器，以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet，都不会重复执行 init（）。</li><li>service（）：它是Servlet的核心，负责响应客户的请求。每当一个客户请求一个HttpServlet对象，该对象的 Service()方法就要调用，而且传递给这个方法一个&#8220;请求&#8221;（ServletRequest）对象和一个&#8220;响应&#8221; （ServletResponse）对象作为参数。在HttpServlet中已存在Service()方法。默认的服务功能是调用与HTTP请求的方法 相应的do功能。</li><li>destroy（）：&nbsp;仅执行一次，在服务器端停止且卸载Servlet时执行该方法。当Servlet对象退出生命周期时，负责释放占用的资 源。一个Servlet在运行service()方法时可能会产生其他的线程，因此需要确认在调用destroy()方法时，这些线程已经终止或完成。</li></ol> <p>Tomcat 与 Servlet 是如何工作的：</p> <p><img src="http://images.cnitblog.com/blog/384192/201302/24114945-4774512d1247438fa58c37399d3999ae.jpg" alt="" /></p> <p>步骤：</p> <ol><li>Web Client 向Servlet容器（Tomcat）发出Http请求</li><li>Servlet容器接收Web Client的请求</li><li>Servlet容器创建一个HttpRequest对象，将Web Client请求的信息封装到这个对象中。</li><li>Servlet容器创建一个HttpResponse对象</li><li>Servlet容器调用HttpServlet对象的service方法，把HttpRequest对象与HttpResponse对象作为参数传给 HttpServlet 对象。</li><li>HttpServlet调用HttpRequest对象的有关方法，获取Http请求信息。</li><li>HttpServlet调用HttpResponse对象的有关方法，生成响应数据。</li><li>Servlet容器把HttpServlet的响应结果传给Web Client。</li></ol> <p>&nbsp;</p> <p>Servlet工作原理：</p> <p>1、首先简单解释一下Servlet接收和响应客户请求的过程，首先客户发送一个请求，Servlet是调用service()方法对请求进行响应 的，通过源代码可见，service()方法中对请求的方式进行了匹配，选择调用doGet,doPost等这些方法，然后再进入对应的方法中调用逻辑层 的方法，实现对客户的响应。在Servlet接口和GenericServlet中是没有doGet（）、doPost（）等等这些方法 的，HttpServlet中定义了这些方法，但是都是返回error信息，所以，我们每次定义一个Servlet的时候，都必须实现doGet或 doPost等这些方法。</p> <p>2、每一个自定义的Servlet都必须实现Servlet的接口，Servlet接口中定义了五个方法，其中比较重要的三个方法涉及到 Servlet的生命周期，分别是上文提到的init(),service(),destroy()方法。GenericServlet是一个通用的，不 特定于任何协议的Servlet,它实现了Servlet接口。而HttpServlet继承于GenericServlet，因此 HttpServlet也实现了Servlet接口。所以我们定义Servlet的时候只需要继承HttpServlet即可。</p> <p>3、Servlet接口和GenericServlet是不特定于任何协议的，而HttpServlet是特定于HTTP协议的类，所以 HttpServlet中实现了service()方法，并将请求ServletRequest、ServletResponse  强转为HttpRequest 和 HttpResponse。</p> <p>&nbsp;</p> <p>&nbsp;</p> <p>创建Servlet对象的时机：</p> <ol><li>Servlet容器启动时：读取web.xml配置文件中的信息，构造指定的Servlet对象，创建ServletConfig对象，同时将ServletConfig对象作为参数来调用Servlet对象的init方法。</li><li>在Servlet容器启动后：客户首次向Servlet发出请求，Servlet容器会判断内存中是否存在指定的Servlet对象，如果没有则 创建它，然后根据客户的请求创建HttpRequest、HttpResponse对象，从而调用Servlet&nbsp;对象的service方法。</li><li>Servlet&nbsp;Servlet容器在启动时自动创建Servlet，这是由在web.xml文件中为Servlet设置的&lt;load- on-startup&gt;属性决定的。从中我们也能看到同一个类型的Servlet对象在Servlet容器中以单例的形式存在。<br /> <div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><span style="color: #000000; "></span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">servlet</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">servlet</span><span style="color: #000000; ">-</span><span style="color: #000000; ">name</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">Init</span><span style="color: #000000; ">&lt;/</span><span style="color: #000000; ">servlet</span><span style="color: #000000; ">-</span><span style="color: #000000; ">name</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">servlet</span><span style="color: #000000; ">-</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">org.xl.servlet.InitServlet</span><span style="color: #000000; ">&lt;/</span><span style="color: #000000; ">servlet</span><span style="color: #000000; ">-</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">load</span><span style="color: #000000; ">-</span><span style="color: #000000; ">on</span><span style="color: #000000; ">-</span><span style="color: #000000; ">startup</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">&lt;/</span><span style="color: #000000; ">load</span><span style="color: #000000; ">-</span><span style="color: #000000; ">on</span><span style="color: #000000; ">-</span><span style="color: #000000; ">startup</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">&lt;/</span><span style="color: #000000; ">servlet</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span></div> </li></ol> <p>&nbsp;</p></div></div><img src ="http://www.blogjava.net/xue/aggbug/418513.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xue/" target="_blank">小人物_Amor</a> 2014-10-08 15:16 <a href="http://www.blogjava.net/xue/archive/2014/10/08/418513.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于dtree的树形菜单实现</title><link>http://www.blogjava.net/xue/archive/2014/05/30/414277.html</link><dc:creator>小人物_Amor</dc:creator><author>小人物_Amor</author><pubDate>Fri, 30 May 2014 09:46:00 GMT</pubDate><guid>http://www.blogjava.net/xue/archive/2014/05/30/414277.html</guid><wfw:comment>http://www.blogjava.net/xue/comments/414277.html</wfw:comment><comments>http://www.blogjava.net/xue/archive/2014/05/30/414277.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xue/comments/commentRss/414277.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xue/services/trackbacks/414277.html</trackback:ping><description><![CDATA[各位如果想找合适的树形菜单，不放试试dtree，去官网看看www.destroydrop.com/javascript/tree/，下载dtree.zip下来解压之后有dtree.js,dtree.css,img文件夹,api.html,example01.html这几个文件，可以看看api.html，里面有参数和方法说明，实际上在项目应用时，我们是需要从数据库里的菜单表里读取数据进行树形菜单构建的，根据api.html里面的参数说明可建立一张s_menu的数据表：<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; "></span><span style="color: #0000FF; ">CREATE</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">TABLE</span><span style="color: #000000; ">&nbsp;`s_menu`&nbsp;(<br />&nbsp;&nbsp;`id`&nbsp;</span><span style="color: #000000; font-weight: bold; ">int</span><span style="color: #000000; ">(</span><span style="color: #800000; font-weight: bold; ">11</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #808080; ">NOT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">NULL</span><span style="color: #000000; ">&nbsp;AUTO_INCREMENT&nbsp;COMMENT&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">主键id</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;`pid`&nbsp;</span><span style="color: #000000; font-weight: bold; ">int</span><span style="color: #000000; ">(</span><span style="color: #800000; font-weight: bold; ">11</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #0000FF; ">DEFAULT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">NULL</span><span style="color: #000000; ">&nbsp;COMMENT&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">父级id</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;`name`&nbsp;</span><span style="color: #000000; font-weight: bold; ">varchar</span><span style="color: #000000; ">(</span><span style="color: #800000; font-weight: bold; ">45</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #0000FF; ">DEFAULT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">NULL</span><span style="color: #000000; ">&nbsp;COMMENT&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">菜单名称</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;`url`&nbsp;</span><span style="color: #000000; font-weight: bold; ">varchar</span><span style="color: #000000; ">(</span><span style="color: #800000; font-weight: bold; ">255</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #0000FF; ">DEFAULT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">NULL</span><span style="color: #000000; ">&nbsp;COMMENT&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">菜单url</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;`title`&nbsp;</span><span style="color: #000000; font-weight: bold; ">varchar</span><span style="color: #000000; ">(</span><span style="color: #800000; font-weight: bold; ">45</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #0000FF; ">DEFAULT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">NULL</span><span style="color: #000000; ">&nbsp;COMMENT&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">鼠标放上去显示的title</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;`target`&nbsp;</span><span style="color: #000000; font-weight: bold; ">varchar</span><span style="color: #000000; ">(</span><span style="color: #800000; font-weight: bold; ">45</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #0000FF; ">DEFAULT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">NULL</span><span style="color: #000000; ">&nbsp;COMMENT&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">目标iframe</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;`icon`&nbsp;</span><span style="color: #000000; font-weight: bold; ">varchar</span><span style="color: #000000; ">(</span><span style="color: #800000; font-weight: bold; ">255</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #0000FF; ">DEFAULT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">NULL</span><span style="color: #000000; ">&nbsp;COMMENT&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">菜单折叠时候显示的图片</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;`iconOpen`&nbsp;</span><span style="color: #000000; font-weight: bold; ">varchar</span><span style="color: #000000; ">(</span><span style="color: #800000; font-weight: bold; ">255</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #0000FF; ">DEFAULT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">NULL</span><span style="color: #000000; ">&nbsp;COMMENT&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">菜单打开时候显示的图片</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;`</span><span style="color: #0000FF; ">open</span><span style="color: #000000; ">`&nbsp;</span><span style="color: #000000; font-weight: bold; ">int</span><span style="color: #000000; ">(</span><span style="color: #800000; font-weight: bold; ">1</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #0000FF; ">DEFAULT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">0</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">&nbsp;COMMENT&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">是否打开</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;</span><span style="color: #0000FF; ">PRIMARY</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">KEY</span><span style="color: #000000; ">&nbsp;(`id`)<br />)&nbsp;ENGINE</span><span style="color: #808080; ">=</span><span style="color: #000000; ">MyISAM&nbsp;AUTO_INCREMENT</span><span style="color: #808080; ">=</span><span style="color: #800000; font-weight: bold; ">12</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">DEFAULT</span><span style="color: #000000; ">&nbsp;CHARSET</span><span style="color: #808080; ">=</span><span style="color: #000000; ">utf8;</span></div><br />并且插入一些测试数据来使用：<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">INSERT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">INTO</span><span style="color: #000000; ">&nbsp;`s_menu`&nbsp;</span><span style="color: #0000FF; ">VALUES</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">1</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">-1</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">浏览器</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">#</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">浏览器</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">0</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">);<br /></span><span style="color: #0000FF; ">INSERT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">INTO</span><span style="color: #000000; ">&nbsp;`s_menu`&nbsp;</span><span style="color: #0000FF; ">VALUES</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">2</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">1</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">IE</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">#</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">IE浏览器</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">0</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">);<br /></span><span style="color: #0000FF; ">INSERT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">INTO</span><span style="color: #000000; ">&nbsp;`s_menu`&nbsp;</span><span style="color: #0000FF; ">VALUES</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">3</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">2</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">IE6</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">#</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">IE6</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">0</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">);<br /></span><span style="color: #0000FF; ">INSERT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">INTO</span><span style="color: #000000; ">&nbsp;`s_menu`&nbsp;</span><span style="color: #0000FF; ">VALUES</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">4</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">2</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">IE7</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">#</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">IE7</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">0</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">);<br /></span><span style="color: #0000FF; ">INSERT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">INTO</span><span style="color: #000000; ">&nbsp;`s_menu`&nbsp;</span><span style="color: #0000FF; ">VALUES</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">5</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">2</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">IE8</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">#</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">IE8</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">0</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">);<br /></span><span style="color: #0000FF; ">INSERT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">INTO</span><span style="color: #000000; ">&nbsp;`s_menu`&nbsp;</span><span style="color: #0000FF; ">VALUES</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">6</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">2</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">IE10</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">#</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">IE10</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">0</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">);<br /></span><span style="color: #0000FF; ">INSERT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">INTO</span><span style="color: #000000; ">&nbsp;`s_menu`&nbsp;</span><span style="color: #0000FF; ">VALUES</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">7</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">1</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">Firefox</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">#</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">Firefox</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">0</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">);<br /></span><span style="color: #0000FF; ">INSERT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">INTO</span><span style="color: #000000; ">&nbsp;`s_menu`&nbsp;</span><span style="color: #0000FF; ">VALUES</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">8</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">7</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">Firefox15.0</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">#</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">Firefox15.0</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">0</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">);<br /></span><span style="color: #0000FF; ">INSERT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">INTO</span><span style="color: #000000; ">&nbsp;`s_menu`&nbsp;</span><span style="color: #0000FF; ">VALUES</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">9</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">7</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">Firefox15.1</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">#</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">Firefox15.1</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">0</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">);<br /></span><span style="color: #0000FF; ">INSERT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">INTO</span><span style="color: #000000; ">&nbsp;`s_menu`&nbsp;</span><span style="color: #0000FF; ">VALUES</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">10</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">1</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">360浏览器</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">#</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">360浏览器</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">0</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">);<br /></span><span style="color: #0000FF; ">INSERT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">INTO</span><span style="color: #000000; ">&nbsp;`s_menu`&nbsp;</span><span style="color: #0000FF; ">VALUES</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">11</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">1</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">搜狗浏览器</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">#</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">搜狗浏览器</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">0</span><span style="color: #FF0000; ">'</span><span style="color: #000000; ">);<br /></span></div><br />接下来把解压好的dtree.js以及dtree.css放到项目的对应目录下，并在页面引入，后台执行方法我就不说了，就是查询出s_menu里所有的数据就可以了，在jsp里面实现：<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="background-color: #FFFF00; color: #000000; ">&lt;%</span><span style="background-color: #F5F5F5; color: #000000; ">@&nbsp;page&nbsp;contentType</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">text/html;charset=UTF-8</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;</span><span style="background-color: #FFFF00; color: #000000; ">%&gt;</span><span style="color: #000000; "><br /></span><span style="background-color: #FFFF00; color: #000000; ">&lt;%</span><span style="background-color: #F5F5F5; color: #000000; ">@&nbsp;include&nbsp;file</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">/common/taglibs.jsp</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;</span><span style="background-color: #FFFF00; color: #000000; ">%&gt;</span><span style="color: #000000; "><br /></span><span style="background-color: #FFFF00; color: #000000; ">&lt;%</span><span style="background-color: #F5F5F5; color: #000000; ">@&nbsp;page&nbsp;import</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">org.springframework.context.ApplicationContext,org.springframework.context.support.ClassPathXmlApplicationContext,com.zx.ww.entity.base.Menu,com.zx.ww.service.base.MenuManager,java.util.List</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;&nbsp;</span><span style="background-color: #FFFF00; color: #000000; ">%&gt;</span><span style="color: #000000; "><br /></span><span style="background-color: #FFFF00; color: #000000; ">&lt;%</span><span style="background-color: #F5F5F5; color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;ApplicationContext&nbsp;context&nbsp;</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;</span><span style="background-color: #F5F5F5; color: #0000FF; ">new</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;ClassPathXmlApplicationContext(</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">applicationContext.xml</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;MenuManager&nbsp;menuManager&nbsp;</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;(MenuManager)context.getBean(</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">menuManager</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;List</span><span style="background-color: #F5F5F5; color: #000000; ">&lt;</span><span style="background-color: #F5F5F5; color: #000000; ">Menu</span><span style="background-color: #F5F5F5; color: #000000; ">&gt;</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;menus&nbsp;</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;menuManager.findAllMenu();<br />&nbsp;&nbsp;&nbsp;&nbsp;request.setAttribute(</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">menus</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">,&nbsp;menus);<br /></span><span style="background-color: #FFFF00; color: #000000; ">%&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;!</span><span style="color: #FF00FF; ">DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Transitional//EN"&nbsp;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">html&nbsp;</span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">head</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">title</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">SSH2</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">title</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">head</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">body</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">table&nbsp;</span><span style="color: #FF0000; ">width</span><span style="color: #0000FF; ">="100%"</span><span style="color: #FF0000; ">&nbsp;height</span><span style="color: #0000FF; ">="100%"</span><span style="color: #FF0000; ">&nbsp;border</span><span style="color: #0000FF; ">="0"</span><span style="color: #FF0000; ">&nbsp;cellspacing</span><span style="color: #0000FF; ">="0"</span><span style="color: #FF0000; ">&nbsp;cellpadding</span><span style="color: #0000FF; ">="0"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">tr</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">td&nbsp;</span><span style="color: #FF0000; ">valign</span><span style="color: #0000FF; ">="top"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">div&nbsp;</span><span style="color: #FF0000; ">id</span><span style="color: #0000FF; ">="treearea"</span><span style="color: #FF0000; ">&nbsp;style</span><span style="color: #0000FF; ">="overflow:&nbsp;scroll;height:100%;width:100%"</span><span style="color: #0000FF; ">&gt;&lt;/</span><span style="color: #800000; ">div</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">td</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">tr</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">table</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">body</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">html</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">script&nbsp;</span><span style="color: #FF0000; ">type</span><span style="color: #0000FF; ">="text/javascript"</span><span style="color: #0000FF; ">&gt;</span><span style="background-color: #F5F5F5; color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #F5F5F5; color: #0000FF; ">var</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;dtree&nbsp;</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;</span><span style="background-color: #F5F5F5; color: #0000FF; ">new</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;dTree('dtree',&nbsp;'${ctx}</span><span style="background-color: #F5F5F5; color: #000000; ">/</span><span style="background-color: #F5F5F5; color: #000000; ">images</span><span style="background-color: #F5F5F5; color: #000000; ">/</span><span style="background-color: #F5F5F5; color: #000000; ">dtree</span><span style="background-color: #F5F5F5; color: #000000; ">/</span><span style="background-color: #F5F5F5; color: #000000; ">');<br />&nbsp;&nbsp;&nbsp;&nbsp;dtree.config.folderLinks&nbsp;</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;</span><span style="background-color: #F5F5F5; color: #0000FF; ">true</span><span style="background-color: #F5F5F5; color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;dtree.config.useCookies&nbsp;</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;</span><span style="background-color: #F5F5F5; color: #0000FF; ">true</span><span style="background-color: #F5F5F5; color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #F5F5F5; color: #000000; ">&lt;</span><span style="background-color: #F5F5F5; color: #000000; ">c:forEach&nbsp;items</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">${menus}</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;</span><span style="background-color: #F5F5F5; color: #0000FF; ">var</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">menu</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">&gt;</span><span style="background-color: #F5F5F5; color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dtree.add(${menu.id},${menu.pid},</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">${menu.name}</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">,</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">${menu.url}</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">,</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">${menu.title}</span><span style="background-color: #F5F5F5; color: #000000; ">"</span><span style="background-color: #F5F5F5; color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #F5F5F5; color: #000000; ">&lt;/</span><span style="background-color: #F5F5F5; color: #000000; ">c:forEach</span><span style="background-color: #F5F5F5; color: #000000; ">&gt;</span><span style="background-color: #F5F5F5; color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('treearea').innerHTML&nbsp;</span><span style="background-color: #F5F5F5; color: #000000; ">=</span><span style="background-color: #F5F5F5; color: #000000; ">&nbsp;dtree;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">script</span><span style="color: #0000ff;">&gt;</span></div><br />看效果：<br /><img alt="" src="http://www.blogjava.net/images/blogjava_net/xue/dtree.png" /><br />这是从数据库里读出数据的方式，本地的话构建这样的数据就行了：<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">script&nbsp;type</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">text/javascript</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;!--</span><span style="color: #000000; "><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;dTree('d');<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.add(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,'My&nbsp;example&nbsp;tree');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.add(</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,'Node&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">','example01.html');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.add(</span><span style="color: #000000; ">2</span><span style="color: #000000; ">,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,'Node&nbsp;</span><span style="color: #000000; ">2</span><span style="color: #000000; ">','example01.html');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.add(</span><span style="color: #000000; ">3</span><span style="color: #000000; ">,</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,'Node&nbsp;</span><span style="color: #000000; ">1.1</span><span style="color: #000000; ">','example01.html');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.add(</span><span style="color: #000000; ">4</span><span style="color: #000000; ">,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,'Node&nbsp;</span><span style="color: #000000; ">3</span><span style="color: #000000; ">','example01.html');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.add(</span><span style="color: #000000; ">5</span><span style="color: #000000; ">,</span><span style="color: #000000; ">3</span><span style="color: #000000; ">,'Node&nbsp;</span><span style="color: #000000; ">1.1</span><span style="color: #000000; ">.</span><span style="color: #000000; ">1</span><span style="color: #000000; ">','example01.html');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.add(</span><span style="color: #000000; ">6</span><span style="color: #000000; ">,</span><span style="color: #000000; ">5</span><span style="color: #000000; ">,'Node&nbsp;</span><span style="color: #000000; ">1.1</span><span style="color: #000000; ">.</span><span style="color: #000000; ">1.1</span><span style="color: #000000; ">','example01.html');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.add(</span><span style="color: #000000; ">7</span><span style="color: #000000; ">,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,'Node&nbsp;</span><span style="color: #000000; ">4</span><span style="color: #000000; ">','example01.html');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.add(</span><span style="color: #000000; ">8</span><span style="color: #000000; ">,</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,'Node&nbsp;</span><span style="color: #000000; ">1.2</span><span style="color: #000000; ">','example01.html');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.add(</span><span style="color: #000000; ">9</span><span style="color: #000000; ">,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,'My&nbsp;Pictures','example01.html','Pictures&nbsp;I\'ve&nbsp;taken&nbsp;over&nbsp;the&nbsp;years','','','img</span><span style="color: #000000; ">/</span><span style="color: #000000; ">imgfolder.gif');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.add(</span><span style="color: #000000; ">10</span><span style="color: #000000; ">,</span><span style="color: #000000; ">9</span><span style="color: #000000; ">,'The&nbsp;trip&nbsp;to&nbsp;Iceland','example01.html','Pictures&nbsp;of&nbsp;Gullfoss&nbsp;and&nbsp;Geysir');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.add(</span><span style="color: #000000; ">11</span><span style="color: #000000; ">,</span><span style="color: #000000; ">9</span><span style="color: #000000; ">,'Mom\'s&nbsp;birthday','example01.html');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.add(</span><span style="color: #000000; ">12</span><span style="color: #000000; ">,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,'Recycle&nbsp;Bin','example01.html','','','img</span><span style="color: #000000; ">/</span><span style="color: #000000; ">trash.gif');<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.write(d);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">--&gt;</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;/</span><span style="color: #000000; ">script</span><span style="color: #000000; ">&gt;</span></div>网上有很多关于dtree的说明，在此看不明白的再去网上找找别的，有说的比较详细的PPT，关于各个参数以及方法说明都有~<br />ok，留着以后会有用的！<img src ="http://www.blogjava.net/xue/aggbug/414277.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xue/" target="_blank">小人物_Amor</a> 2014-05-30 17:46 <a href="http://www.blogjava.net/xue/archive/2014/05/30/414277.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>输入框自动提示开发使用</title><link>http://www.blogjava.net/xue/archive/2014/05/22/413990.html</link><dc:creator>小人物_Amor</dc:creator><author>小人物_Amor</author><pubDate>Thu, 22 May 2014 10:11:00 GMT</pubDate><guid>http://www.blogjava.net/xue/archive/2014/05/22/413990.html</guid><wfw:comment>http://www.blogjava.net/xue/comments/413990.html</wfw:comment><comments>http://www.blogjava.net/xue/archive/2014/05/22/413990.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xue/comments/commentRss/413990.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xue/services/trackbacks/413990.html</trackback:ping><description><![CDATA[<div>因为项目需要，需要做输入框自动提示功能，之前我只是使用过这种功能，相信大家也都使用过，百度~现在要让我自己做，好吧，还是百度一下，百度搜索&#8220;输入框自动提示&#8221;，弹出一对页面，也看了一堆文章，有自己开发的，也有插件的。</div>
最后经过几次试验，我选择了JQuery.Autocomplete这款插件，还行吧用着，支持本地也支持ajax访问服务器，这款插件是基于jquery的，各位若有项目需要使用的，可以尝试一把。<br /><br />源码下载：<a href="http://pan.baidu.com/s/1mgkctp2" target="_blank">JQuery.AutoComplete</a><br /><br />本地自动提示的方式我就不说了，各位下载源码之后看一下也就明白了，当然不明白的也可以问我，说一下ajax访问服务器的方式吧，直接上代码最为直接：<br /><br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; "><br />$(</span><span style="color: #0000FF; ">function</span><span style="color: #000000; ">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&nbsp;&nbsp;&nbsp; &nbsp; var</span><span style="color: #000000; ">&nbsp;onAutocompleteSelect&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">function</span><span style="color: #000000; ">(customer)&nbsp;{&nbsp;&nbsp;<br />　　　　　 $('#customerIdString').val(customer.data);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">var</span><span style="color: #000000; ">&nbsp;options&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;serviceUrl:&nbsp;'${pageContext.request.contextPath}</span><span style="color: #000000; ">/</span><span style="color: #000000; ">TCustomer</span><span style="color: #000000; ">/</span><span style="color: #000000; ">getAllCustomer.koala',</span><span style="color: #008000; ">//</span><span style="color: #008000; ">获取数据的后台页面</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onSelect:&nbsp;onAutocompleteSelect,</span><span style="color: #008000; ">//</span><span style="color: #008000; ">选中之后的回调函数</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extraParams:&nbsp;{selectedCustomerName:$.trim($(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">#selectedCustomerName</span><span style="color: #000000; ">"</span><span style="color: #000000; ">).val())},</span><span style="color: #008000; ">//</span><span style="color: #008000; ">动态参数值</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;paramName:&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">selectedCustomerName</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;noCache:&nbsp;</span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">是否启用缓存&nbsp;默认是开启缓存的</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max:</span><span style="color: #000000; ">10</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;autoFill:</span><span style="color: #0000FF; ">false</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; $('#selectedCustomerName').autocomplete(options);<br />});</span></div><br />这样我们就可以把填入输入框的值作为extraParams动态参数传递到后台去，后台直接request.getParameter("selectedCustomerName");就可以了。<br /><br />值得注意的是，后台应该返回什么样的数据格式，这个插件需要注意的地方就是这块了，如果不是他要求的格式的话，页面会报js错误的，要求的数据格式必须是这样的json串：<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">{</span><span style="color: #000000; ">"</span><span style="color: #000000; ">query</span><span style="color: #000000; ">"</span><span style="color: #000000; ">:</span><span style="color: #000000; ">"</span><span style="color: #000000; ">A</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">suggestions</span><span style="color: #000000; ">"</span><span style="color: #000000; ">:[{</span><span style="color: #000000; ">"</span><span style="color: #000000; ">data</span><span style="color: #000000; ">"</span><span style="color: #000000; ">:</span><span style="color: #000000; ">"</span><span style="color: #000000; ">114e69b4-87a9-4c2b-aed4-1727568a92a7</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">value</span><span style="color: #000000; ">"</span><span style="color: #000000; ">:</span><span style="color: #000000; ">"</span><span style="color: #000000; ">AAA111</span><span style="color: #000000; ">"</span><span style="color: #000000; ">},{</span><span style="color: #000000; ">"</span><span style="color: #000000; ">data</span><span style="color: #000000; ">"</span><span style="color: #000000; ">:</span><span style="color: #000000; ">"</span><span style="color: #000000; ">531b59ca-8618-48f4-a6e8-963320e10159</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">value</span><span style="color: #000000; ">"</span><span style="color: #000000; ">:</span><span style="color: #000000; ">"</span><span style="color: #000000; ">小人物_Amor</span><span style="color: #000000; ">"</span><span style="color: #000000; ">}]}</span></div><br />query后面的A是我输入框传入的参数，根据A模糊查询出两组数据，并以json的格式放在key为suggestions里。<br /><br />后台代码：<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; @ResponseBody<br />&nbsp;&nbsp;&nbsp;&nbsp;@RequestMapping(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/getAllCustomer</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;Object&nbsp;getAllCustomer(HttpServletRequest&nbsp;request,HttpServletResponse&nbsp;response)</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;IOException{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">Object</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;queryCustomerList&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;ArrayList</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">Object</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">TCustomerDTO</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;allCustomer&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;ArrayList</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">TCustomerDTO</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //获取前台带过来的动态参数<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;selectedCustomerName&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;request.getParameter(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">selectedCustomerName</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //得到包含</span><span style="color: #000000; ">selectedCustomerName参数的对象<br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allCustomer&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;tCustomerApplication.findAllTCustomer();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">&nbsp;(Iterator&nbsp;iterator&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;allCustomer.iterator();&nbsp;iterator.hasNext();)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCustomerDTO&nbsp;tCustomerDTO&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(TCustomerDTO)&nbsp;iterator.next();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(tCustomerDTO.getName().contains(selectedCustomerName)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">String,&nbsp;Object</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;result&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;HashMap</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">String,&nbsp;Object</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.put(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">value</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;tCustomerDTO.getName());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.put(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">data</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;tCustomerDTO.getId());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queryCustomerList.add(result);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //构造规定的json数据格式<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">String,&nbsp;Object</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;query_result&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;HashMap</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">String,&nbsp;Object</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;json&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;JSONArray.toJSON(queryCustomerList);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;query_result.put(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">query</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;selectedCustomerName);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;query_result.put(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">suggestions</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;json);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;json_map&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;JSONArray.toJSON(query_result);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(json_map);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;json_map;<br />&nbsp;&nbsp;&nbsp;&nbsp;}</span></div><br />OK了，其实很简单，当然你需要引入jquery，以及他所要求的其他两个js文件，各位下载源码后看示例就知道啦~<br /><img src ="http://www.blogjava.net/xue/aggbug/413990.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xue/" target="_blank">小人物_Amor</a> 2014-05-22 18:11 <a href="http://www.blogjava.net/xue/archive/2014/05/22/413990.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jsp页面引入jstl标签以及如何开发自定义标签</title><link>http://www.blogjava.net/xue/archive/2014/05/21/413934.html</link><dc:creator>小人物_Amor</dc:creator><author>小人物_Amor</author><pubDate>Wed, 21 May 2014 09:17:00 GMT</pubDate><guid>http://www.blogjava.net/xue/archive/2014/05/21/413934.html</guid><wfw:comment>http://www.blogjava.net/xue/comments/413934.html</wfw:comment><comments>http://www.blogjava.net/xue/archive/2014/05/21/413934.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/xue/comments/commentRss/413934.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xue/services/trackbacks/413934.html</trackback:ping><description><![CDATA[<strong>jsp页面引入jstl标签：</strong><br /><br />1.网上下载jstl.jar包和standard.jar包放到项目的lib文件夹下，jar包下载：<a target="_blank" href="http://pan.baidu.com/s/1o6LRPV0">jar包下载</a>;<br /><br />2.然后在你的jsp页面里引入如下代码：<br /><br /><span style="font-size: 13px; color: #008080;">1</span><span style="background-color: #eeeeee; font-size: 13px;">&nbsp;</span><span style="font-size: 13px; background-color: #ffff00;">&lt;%</span><span style="font-size: 13px; background-color: #f5f5f5;">@&nbsp;taglib&nbsp;uri</span><span style="font-size: 13px; background-color: #f5f5f5;">=</span><span style="font-size: 13px; background-color: #f5f5f5;">"</span><span style="font-size: 13px; background-color: #f5f5f5;">http://java.sun.com/jsp/jstl/core</span><span style="font-size: 13px; background-color: #f5f5f5;">"</span><span style="font-size: 13px; background-color: #f5f5f5;">&nbsp;prefix</span><span style="font-size: 13px; background-color: #f5f5f5;">=</span><span style="font-size: 13px; background-color: #f5f5f5;">"</span><span style="font-size: 13px; background-color: #f5f5f5;">c</span><span style="font-size: 13px; background-color: #f5f5f5;">"</span><span style="font-size: 13px; background-color: #ffff00;">%&gt;<br /><br /></span>ok了，在你的页面使用c标签吧～<br /><br /><br /><br /><strong>下面来说说自定义标签的开发：</strong><br />jsp自定义标签，用于项目便捷开发。在实际项目开发中，我们大多数时候会采用数据字典来储存项目中一些数据，比如性别、国际、类型等，用数据字典存储很 方便，因此在数据库中添加一张数据字典表t_dict_value，有做过的项目中采用两张表进行数据字典的管理，个人在设计数据字典的时候感觉一张表也 够用了，不多说看建表语句：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img alt="" src="http://www.blogjava.net/images/blogjava_net/xue/4.png" height="125" width="329" /><br /><ol>
</ol>
<div>我的自定义标签是基于数据字典表使用的，当然后续业务中有需要也可以制作特定的自定义标签，接下来开始自定义标签，首先写一个DictSelectTag类，代码如下：<br /><span style="font-size: 13px; color: #0000ff;">package</span><span style="background-color: #eeeeee; font-size: 13px;">&nbsp;com.infopatent.juangetljc.web.controller.core;</span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><span style="color: #0000FF; ">import</span>&nbsp;java.io.IOException;<br /><span style="color: #0000FF; ">import</span>&nbsp;java.util.List;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;javax.servlet.jsp.JspException;<br /><span style="color: #0000FF; ">import</span>&nbsp;javax.servlet.jsp.JspWriter;<br /><span style="color: #0000FF; ">import</span>&nbsp;javax.servlet.jsp.tagext.TagSupport;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;org.apache.commons.lang3.StringUtils;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;com.infopatent.juangetljc.core.DictValue;<br /><br /><span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;DictSelectTag&nbsp;<span style="color: #0000FF; ">extends</span>&nbsp;TagSupport&nbsp;&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;String&nbsp;dictName&nbsp;=&nbsp;"";<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;<span style="color: #0000FF; ">boolean</span>&nbsp;defaultValue;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;String&nbsp;value;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;String&nbsp;name;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;String&nbsp;id;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;String&nbsp;cssClass;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;String&nbsp;styleClass;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;String&nbsp;multiple;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;String&nbsp;onChange;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;String&nbsp;dataType;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;String&nbsp;getDataType()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;dataType;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;setDataType(String&nbsp;dataType)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.dataType&nbsp;=&nbsp;dataType;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;String&nbsp;getCssClass()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;cssClass;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;setCssClass(String&nbsp;cssClass)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.cssClass&nbsp;=&nbsp;cssClass;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;String&nbsp;getStyleClass()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;styleClass;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;setStyleClass(String&nbsp;styleClass)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.styleClass&nbsp;=&nbsp;styleClass;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;String&nbsp;getMultiple()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;multiple;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;setMultiple(String&nbsp;multiple)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.multiple&nbsp;=&nbsp;multiple;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;String&nbsp;getOnChange()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;onChange;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;setOnChange(String&nbsp;onChange)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.onChange&nbsp;=&nbsp;onChange;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;String&nbsp;getName()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;name;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;setName(String&nbsp;name)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.name&nbsp;=&nbsp;name;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;String&nbsp;getId()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;id;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;setId(String&nbsp;id)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.id&nbsp;=&nbsp;id;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;String&nbsp;getValue()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;value;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;setValue(String&nbsp;value)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.value&nbsp;=&nbsp;value;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;String&nbsp;getDictName()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;dictName;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;setDictName(String&nbsp;dictName)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.dictName&nbsp;=&nbsp;dictName;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">boolean</span>&nbsp;isDefaultValue()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;defaultValue;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;setDefaultValue(<span style="color: #0000FF; ">boolean</span>&nbsp;defaultValue)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.defaultValue&nbsp;=&nbsp;defaultValue;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;doEndTag()&nbsp;<span style="color: #0000FF; ">throws</span>&nbsp;JspException{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DictValue&nbsp;dict&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;DictValue();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&lt;DictValue&gt;&nbsp;dict_list&nbsp;=&nbsp;dict.getRepository().findByProperty(DictValue.<span style="color: #0000FF; ">class</span>,"dictName",dictName);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JspWriter&nbsp;out&nbsp;=&nbsp;pageContext.getOut();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuffer&nbsp;sb&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;StringBuffer();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.append("&lt;select&nbsp;name='"+<span style="color: #0000FF; ">this</span>.getName()+"'&nbsp;id='"+<span style="color: #0000FF; ">this</span>.getId()+"'&nbsp;dataType='"+<span style="color: #0000FF; ">this</span>.getDataType()+"'");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(!StringUtils.isEmpty(<span style="color: #0000FF; ">this</span>.getCssClass())){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.append("class=\""&nbsp;+&nbsp;this.getCssClass()&nbsp;+&nbsp;"\"&nbsp;");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(!StringUtils.isEmpty(<span style="color: #0000FF; ">this</span>.getStyleClass())){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.append("style=\""&nbsp;+&nbsp;this.getStyleClass()&nbsp;+&nbsp;"\"&nbsp;");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(!StringUtils.isEmpty(<span style="color: #0000FF; ">this</span>.getMultiple())){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.append("multiple=\""&nbsp;+&nbsp;this.getMultiple()&nbsp;+&nbsp;"\"&nbsp;");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(!StringUtils.isEmpty(<span style="color: #0000FF; ">this</span>.getOnChange())){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.append("onchange=\""&nbsp;+&nbsp;this.getOnChange()&nbsp;+&nbsp;"\"&nbsp;");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.append("&gt;");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(<span style="color: #0000FF; ">this</span>.isDefaultValue()){&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.append("&lt;option&nbsp;value=''&gt;--请选择--&lt;/option&gt;");&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(DictValue&nbsp;dc:dict_list){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(dc.getItemDesc().equals(<span style="color: #0000FF; ">this</span>.getValue())){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.append("&lt;option&nbsp;value='"+dc.getItemCode()+"'&nbsp;selected='selected'&gt;");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<span style="color: #0000FF; ">else</span>{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.append("&lt;option&nbsp;value='"+dc.getItemCode()+"'&gt;");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.append(dc.getItemDesc()+"&lt;/option&gt;");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.append("&lt;/select&gt;");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">try</span>&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.write(sb.toString());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000FF; ">catch</span>&nbsp;(IOException&nbsp;e)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;TODO&nbsp;Auto-generated&nbsp;catch&nbsp;block</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">throw</span>&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;JspException(e);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;TagSupport.EVAL_PAGE;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}</div>&nbsp;再写一个DictLabelTag类用于显示字典中的值，代码如下：<br />&nbsp;&nbsp;<span style="font-size: 13px; color: #0000ff;">package</span><span style="background-color: #eeeeee; font-size: 13px;">&nbsp;com.infopatent.juangetljc.web.controller.core;</span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><br /><span style="color: #0000FF; ">import</span>&nbsp;java.io.IOException;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;javax.servlet.jsp.JspException;<br /><span style="color: #0000FF; ">import</span>&nbsp;javax.servlet.jsp.JspWriter;<br /><span style="color: #0000FF; ">import</span>&nbsp;javax.servlet.jsp.tagext.TagSupport;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;org.springframework.web.servlet.tags.form.OptionsTag;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;com.infopatent.juangetljc.core.DictValue;<br /><br /><span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;DictLabelTag&nbsp;<span style="color: #0000FF; ">extends</span>&nbsp;TagSupport&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;String&nbsp;dictName&nbsp;=&nbsp;"";<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;String&nbsp;itemCode;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;String&nbsp;getDictName()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;dictName;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;setDictName(String&nbsp;dictName)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.dictName&nbsp;=&nbsp;dictName;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;String&nbsp;getItemCode()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;itemCode;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;setItemCode(String&nbsp;itemCode)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.itemCode&nbsp;=&nbsp;itemCode;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;doEndTag()&nbsp;<span style="color: #0000FF; ">throws</span>&nbsp;JspException&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DictValue&nbsp;dict&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;DictValue();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JspWriter&nbsp;out&nbsp;=&nbsp;pageContext.getOut();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">try</span>&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.write(dict.codeToName(getDictName(),getItemCode()));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000FF; ">catch</span>&nbsp;(IOException&nbsp;e)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">throw</span>&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;JspException(e);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;TagSupport.EVAL_PAGE;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</div><br /><div>接下来配置tld文件，代码如下：<br /><br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">&lt;?</span><span style="color: #FF00FF; ">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000FF; ">?&gt;</span><br /><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">taglib&nbsp;</span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">="http://java.sun.com/xml/ns/j2ee"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsi</span><span style="color: #0000FF; ">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xsi:schemaLocation</span><span style="color: #0000FF; ">="http://java.sun.com/xml/ns/j2ee&nbsp;http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version</span><span style="color: #0000FF; ">="2.0"</span><span style="color: #0000FF; ">&gt;</span><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">description</span><span style="color: #0000FF; ">&gt;</span>SPay&nbsp;JSP&nbsp;Form&nbsp;Tag&nbsp;Library<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">description</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">tlib-version</span><span style="color: #0000FF; ">&gt;</span>1.0<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">tlib-version</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">short-name</span><span style="color: #0000FF; ">&gt;</span>dict<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">short-name</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">uri</span><span style="color: #0000FF; ">&gt;</span>http://www.tljc.com/dict_tag<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">uri</span><span style="color: #0000FF; ">&gt;</span><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">tag</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">description</span><span style="color: #0000FF; ">&gt;</span>Renders&nbsp;an&nbsp;HTML&nbsp;'select'&nbsp;element.&nbsp;Supports&nbsp;databinding&nbsp;to&nbsp;the&nbsp;selected&nbsp;option.<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">description</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>select<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">tag-class</span><span style="color: #0000FF; ">&gt;</span>com.infopatent.juangetljc.web.controller.core.DictSelectTag<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">tag-class</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">body-content</span><span style="color: #0000FF; ">&gt;</span>JSP<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">body-content</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>defaultValue<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>dataType<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span>&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>value<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>false<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>dictName<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>name<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>id<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>cssClass<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>false<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>styleClass<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>false<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>multiple<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>false<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>onChange<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>false<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">tag</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">tag</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>itemdesc<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">tag-class</span><span style="color: #0000FF; ">&gt;</span>com.infopatent.juangetljc.web.controller.core.DictLabelTag<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">tag-class</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">body-content</span><span style="color: #0000FF; ">&gt;</span>JSP<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">body-content</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">description</span><span style="color: #0000FF; ">&gt;</span>The&nbsp;Dict&nbsp;Name&nbsp;config&nbsp;in&nbsp;dict_value<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">description</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>dictName<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">description</span><span style="color: #0000FF; ">&gt;</span>The&nbsp;Dict&nbsp;Code&nbsp;config&nbsp;in&nbsp;dict_value<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">description</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>itemCode<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">required</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span>true<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">rtexprvalue</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">attribute</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">tag</span><span style="color: #0000FF; ">&gt;</span><br /><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">taglib</span><span style="color: #0000FF; ">&gt;</span></div><div>接下来在jsp页面里引入标签：<br /><br /><code>&lt;%</code><code>@taglib</code>&nbsp;<code>prefix=</code><code>"dict"</code>&nbsp;<code>uri=</code><code>"http://www.tljc.com/dict_tag"</code>&nbsp;<code>%&gt;<br /><br /></code><div>这样便可以在jsp页面里使用定义的标签了：<br /><br /><code>&lt;dict:select&nbsp;defaultValue=</code><code>"true"</code>&nbsp;<code>name=</code><code>"GJ"</code>&nbsp;<code>id=</code><code>"GJ"</code>&nbsp;<code>dictName=</code><code>"GJ"</code>&nbsp;<code>cssClass=</code><code>"form-control"</code><code>/&gt;</code><br /><p>前提是要在字典表里加上&#8220;GJ&#8221;这条数据。</p>  <p>OK了!</p></div></div></div></div><img src ="http://www.blogjava.net/xue/aggbug/413934.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xue/" target="_blank">小人物_Amor</a> 2014-05-21 17:17 <a href="http://www.blogjava.net/xue/archive/2014/05/21/413934.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>