




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JSTL知识总结JSTL是什么?JSP 标准标记库(JSP Standard Tag Library,JSTL)是SUN提供的,是一个实现 Web 应用程序中常见的通用功能的定制标记库集,其功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问(类似于struts的标签库)。jslt将操作封装到类似与 HTML 或 XML 标记的标记中,给人一种干净、简洁、易维护的感觉。当然,您可以使用 JSP 脚本编制元素(scriptlet、表达式和声明)。JSP的scriptlet 和JSP的jstl的对比。前提:user来源于servlet(action或.do或者controller)的java文件中的request.setAttribute(“user”,user),其中user为User类的一个对象( role为User的field,另外User拥有getter、setter ) Welcome, member! Welcome, guest!通过JSP的scriplet实现条件内容:修正此类问题通常需要相当丰富的编程经验,尤其是括号的匹配问题。 Welcome, member!Welcome, guest!通过JSP的jstl 实现条件内容另外通过JSTL可以访问对象的属性链,比如:A类对象(a)中有B类的对象(b)做属性,B类的对象(b)又有属性c,我们可以通过$a.b.c访问c的内容JSTL在CIS3、InfoRadar4、Gateway4.5中的应用项目主要用到的标签标签列表:标签常用cc:out 输出变量值c:set 设置变量值c:if 条件判断c:choose 类似与switch的条件判断c:foreach 遍历集合等c: forTokens 遍历字符串fmtfmt:formatDate 日期格式化fn fn:substring 取子串fn:split 类似与java、js的splitfn:replace 类似与java、js的字符替换fn:trim 去首尾空字符fn:length 相当于集合的size(),字符串的lengthSpringSpring:bind 绑定变量,设置值trscistrscis:string 截断字符串trscis:systemconfig 设置html的title相当于一个全局变量C 标签介绍:c:set、c:out c:set、c:out分别表示设置变量、输出变量值。设置变量可以供后续的输出型的变量输出用JSP的Scriplet实现设置用户id、及用户名用JSP的JSTL实现同样功能 :设置用户id为10 :输出用户id,10 张三 :设置用户名 :输出c:if、c:choose条件判断,其中c:choose类似与java中的switchnum1的值等于10 num1的值等于2 c: forEach items 属性所支持的集合参考下表items 的值 所产生的 item 值 java.util.Collection调用 iterator() 所获得的元素java.util.Mapjava.util.Map.Entry 的实例java.util.Iterator迭代器元素java.util.Enumeration枚举元素Object 实例数组数组元素基本类型值数组经过包装的数组元素用逗号定界的 String子字符串C:forEach 多数情况下用item来遍历一个对象,当然也可以结合begin、end、step调整对象的输出个数、步长等。另外varStatus含有4个对象count(从1开始计数,一般用于显现一个table的行序号)、index(索引,从0计数)、first、last(用于判断是否首尾的迭代) :users代表List型的用户集合 :序号,第n个 当前元素值为:; 当前元素索引号为:; 当前共计迭代次; 当前是第一次迭代操作 当前是最后一次迭代操作 Items用于放置集合等,begin=1、end=6、step=2表示从1开始到6以步长2进行循环(即1,3,5)c:forTokens c:forTokens用于操作迭代字符串,其与 Java 语言的 StringTokenizer 类的作用相似 c:out value=先用|作分隔符,再用=作分隔符 escapeXml= false/ 当前元素值为:; 当前元素索引号为:; 当前共计迭代次; 当前是第一次迭代操作 当前是最后一次迭代操作 Fmt标签介绍Fmt标签,主要用来格式化数据,比如日期(最常用),当然也包括数据格式为货币风格等,字符串转化为日期等。此处主要介绍一下fmt:formatDatefmt:formatDate 格式化日期相当于java语言的SimpleDateFormat。type为date表示格式化为年月日、time为时分秒,both为年月日时分秒(最常用),也可以通过pattern格式化成自己想要的方式-fmt:formatDate使用示例- -fmt:formatDate使用示例- Fn 标签介绍JSTL 1.0不支持fn函数,也就是说JSTL 1.0由四个定制标记库(core、format、xml 和 sql)组成。新增的标签函数标签库在实际开发中有比较重要的地位,比如fn:length相当于java中集合、数组的size()和字符串length。 字符串dengJiaRong转换为小写: $fn:toLowerCase(myname) 字符串dengJiaRong转换为大写: $fn:toUpperCase(myname) 数组intArray的长度为:$fn:length(intArray)$fn:indexOf(“ 北京拓尔思信息技术股份有限公司”,”拓尔思”)$fn: startsWith (“ 北京拓尔思信息技术股份有限公司”,”拓尔思”)$fn:trim(organame) organame代表一串字符串字符串name=dzy|sex=男|age=28用|拆分后,结果为: 细心的朋友可能会发现,fn的用法与C标签、fmt标签的用法不太一样,它不符合标签的样式,确实如此,这个是JSP 2.0的新特性EL(Expression Language,表达式语言)。EL的引入使得 可以简单写成 $obj。Spring标签Spring:bind标签是Spring提供的,实现一个Spring的Spring:bind标签,相对前边来说比较麻烦。涉及三部分,controller的java文件、xml的配置文件、页面controller的java文件formBackingObject方法的创建一个页面需要处理的对象(比如logConfig),onSubmit的formObj就是页面通过post提交的对象(如logConfig),其好处主要是当页面post提交后,无需先getParameter,再通过setter设置对象属性值。public class Mission_Global_Log_Set_Controller extends SimpleFormController /get 请求public Object formBackingObject(HttpServletRequest request) LogConfig logConfig = new LogConfig();logConfig = this.getConfigLogic().getLogConfig();request.setAttribute(logConfig, logConfig);return logConfig;/post 请求,即表单提交public ModelAndView onSubmit(HttpServletRequest req, HttpServletResponse rep, Object formObj, BindException arg3) LogConfig logConfig = (LogConfig) formObj;.return new ModelAndView(this. getSuccessView ();.Spring的xml配置文件 主要配置commandName用于页面上的引用、commandClass配置对象所属类型JSP页面处理 input type=radio name=logtype value=0 checked=checked 按文件大小备份日志文件最大值:input id=file type=text name= value= (M)上面的java文件及xml配置,主要是演示如何创建一个页面可以操作的对象(logform)。页面上演示的logForm的运用,任何标签(c、fmt、fn)均可以通过$引用logform,至于Spring:bind、 status.expression、status.value才是Spring的标签,通过post提交后,java文件的onSubmit的formObj就自动设置了新值。提交后,相当于java的logform.setLog_size(request.getParamter(“log_size”);EL 隐式对象(标签数据来源)看了上面的列子,我们可能对$中的数据来源,还是有点迷惑,其实大部分情况下来源于.do(action)的java文件中的request.setAttribute(),session.setAttribute()。我们通常知道JSP分四个作用域:页面作用域、请求作用域、会话作用域、应用程序作用域。其实jstl也可以得到这四个作用域的对象,具体参考下表EL的作用域类别标识符描述JSPpageContextPageContext 实例对应于当前页面的处理作用域pageScope与页面作用域属性的名称和值相关联的 Map 类requestScope与请求作用域属性的名称和值相关联的 Map 类sessionScope与会话作用域属性的名称和值相关联的 Map 类applicationScope与应用程序作用域属性的名称和值相关联的 Map 类请求参数param按名称存储请求参数的主要值的 Map 类paramValues将请求参数的所有值作为 String 数组存储的 Map 类请求头header按名称存储请求头主要值的 Map 类headerValues将请求头的所有值作为 String 数组存储的 Map 类Cookiecookie按名称存储请求附带的 cookie 的 Map 类初始化参数initParam按名称存储 Web 应用程序上下文初始化参数的 Map 类pageContext用法举例说明请求字符串为:$pageContext.request.queryString请求的URL为:$pageContext.request.requestURL当前Web应用的名称为:$pageContext.request.contextPathHTTP的方法为:$pageContext.request.method 使用的协议为:$pageCtocol用户名为:$pageContext.request.remoteUser用户的IP地址为:$pageContext.request.remoteAddr是否是一个新的会话:$pageContext.session.new 当前会话的ID号为:$pageContext.session.idJSP容器的相关信息:$pageContext.servletContext.serverInfo以上演示了pageContext的一些小用法,用el表达式输出。当然也可以用格式输出。好像用 的方式更为保险一些(在weblogic下直接用el表达式有可能报错)Param 用法举例以下为铺垫,表单提交到另外一个JSP页面(elhtmlaccept.JSP)性别:男女爱好:打球编程看书喜欢的季节:春夏秋冬个人简介:以下是elhtmlaccept.JSP的部分内容您输入的个人资料如下: 1.您的姓名:$param.yourname 2.您的性别:$param.yoursex(0为男,1为女) 3.您的爱好:$param.yourlove(用param获得的值) 您的爱好:$paramValues.yourlove0, $paramValues.yourlove1, $paramValues.yourlove2(用paramValues获得的值) (0为打球,1为编程,2为看书) 4.您喜欢的季节:$param.season (0为春,1为夏,2为秋,3为冬) 5.您的个人简介:$param.youintro 提交按钮的值:$param.subbutton其实param的用法还是挺实用的,比如a.JSP中有kkk,(其中a.do转向到b.JSP) 我们没用必要在a.do对应的java中通过request.set
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 应急安全教育培训感想课件
- 私人之间供货合同(标准版)
- 授权公司合同(标准版)
- 农业土地租赁合同(标准版)
- 订购门窗合同(标准版)
- 2025年海南省岛东林场招聘专业技术人员笔试备考题库含答案详解
- 2025年绿色金融债券市场发行市场潜力与投资收益分析报告
- 2025年工业互联网平台网络安全态势感知技术安全运维与监控最佳实践报告
- 2025年家庭教育指导服务市场家庭教育行业市场前景预测报告
- 中学教学计划
- 退役军人优抚政策课件
- 财务遴选笔试题及答案
- (2025秋新版)人教版二年级数学上册全册教案(教学设计)
- 六年级上册音乐课教案
- 肿瘤病人疼痛评估与干预策略
- 物业管理人员考核制度及标准
- 计算机视觉技术课件
- 大学书法教学课件
- 河北省科技工程学校招聘真题2024
- 茶叶出口培训课件
- 家电行业售后服务组织架构及人员岗位职责
评论
0/150
提交评论