如何自定义JSTL标签与SpringMVC 标签的属性中套JSTL标签报错的解决方法
如何自定义JSTL标签
1.创建一个类,从SimpleTagSupport继承
A) 通过继承可以获得当前JSP页面上的对象,如JspContext
I) 实际上可以强转为PageContext
II) 通过PageContext可以拿到HttpServletRequest等对象
B) 通过JspContext可以获取输出流,向页面上输出内容(文字/HTML标签)
C) 重写doTage()方法实现标签的内部逻辑
2.在tld(标签库描述)文件中添加<tag>标签
A) 如果tld还没有,则从JSTL1.2官方jar包中找到c.tld,复制结构出来
B) tag标签中通过<attribute>标签可以指定标签的属性
I) 标签的属性实际上就是标签类的属性,需要在标签类中定义同名属性并封装getter和setter
II) SimpleTagSupport支持从标签中间提取内容,支持四种选项
1)JSP表示标签内部可以放其它标签、el表达式、代码块等
2)ScriptLess
表示标签中可以放文本/html等静态内容
3)empty 表示标签中没有内容
4)tagdependent
表示标签中的无内容由标签自己决定
C) tld需要在web.xml中通过jsp-config/taglib标签中声明一下
D) 如果打成jar包,放在META-INF中可以被服务器扫描到
SpringMVC 标签的属性中套JSTL标签报错的解决方法
<form:form action=”c:url value=”/user/list”/>”> </form:form>
会报错!找不到form:form结束标签
实际不是没有结束标签,而是不能再属性中嵌套JSTL
解决方法是改用EL表达式
<form:form action =”${ pageContext.request.contextPath}/user/list”></form:form>
Bootstrap在一行中放置多个内容的方法
<div class=”container”>
<div class=”row”> 用来抵消两端的15px内边距
<div class=”col-sm-8”>
<div class=”col-sm-4”>
链接为空字符串的作用
<a href=””> 刷新本页
<form action=””> 提交到本页
<a href=”../../../”> 注意这是相对路径,../会向上提一级
jQuery中2种给标签填内容的方法
<input>中的值 $(‘input’).val(‘填充到表单控件中的值’)
普通标签的文本内容 $(‘p’).text(‘填充的文本内容,html无效’)
普通标签的HTML内容 $(‘div’).html(‘<a href=”http://www.baidu.com”>’)
用JS控制表单提交
$('form').submit(); 用jquery找到表单,然后调用submit()方法
在表单内部的表单控件上通过事件调用submint()方法
<form>
<select onchange=”submit()”> onchange()下拉列表改变的
3种模型
数据模型: 与数据库中的表一一对应,通常定义在底层(数据层)
视图模型: 只在视图层使用,与数据库没有关系
业务模型: 它是中间计算使用模型,或者与第三方交互时使用的模型
比如支付时的支付宝或微信订单模型
如何自定义JSTL标签与SpringMVC 标签的属性中套JSTL标签报错的解决方法的更多相关文章
- Eclipse 新建.jsp页面后,页面头部标签报错的解决方法
Eclipse 新建.jsp页面后,页面头部标签报错的解决方法 1.报错地方: 2.解决方法: .jsp页面右键==>BUild Path ==>Configure Build Path. ...
- SpringMVC提交数据遭遇基础类型和日期类型报400错误解决方法
使用SpringMVC开发的时候,页面如果有日期格式的数据,后台接受也是java.util.Date,则报告400错误 .下面是解决方案的演示示例: 这个是实体类,里面createDate就是java ...
- android include标签的使用,在RelativeLayout中使用include标签需注意!!!!!
转:http://4265337.blog.163.com/blog/static/195375820127935731114/ include和merge标记的作用主要是为了解决layout的重用问 ...
- spring mvc 中自定义404页面在IE中无法显示favicon.ico问题的解决方法。
此处用的是jsp,控制层用的是ModelAndView, 具体解决方法如下: @RequestMapping(value = "notfound", method = Reques ...
- Springmvc+Hibernate在Eclipse启动Tomcat需要很长时间的解决方法
最近在学习SpringMvc开发,有一个提问困扰了很久,就是在Eclipse启动Tomcat需要很长时间,大概要1分多钟. 启动日志: 九月 08, 2016 8:59:01 下午 org.apach ...
- SpringMVC + Spring + MyBatis 学习笔记:提交数据遭遇基础类型和日期类型报400错误解决方法
系统:WIN8.1 数据库:Oracle 11GR2 开发工具:MyEclipse 8.6 框架:Spring3.2.9.SpringMVC3.2.9.MyBatis3.2.8 使用SpringMVC ...
- 一个class标签里面有多个属性时的提取标签
<div class="uibox-con carpic-list03 border-b-solid"> #即这个标签同时满足三个class:“uibox”.“ca ...
- 使用thymeleaf一旦没有闭合标签就会报错怎么解决
问题:input标签未关闭报bug,代码稍有不慎就出小问题 使用springboot的thymeleaf模板时默认会对HTML进行严格的检查,导致当你的标签没有闭合时就会通不过,例如: //要想通过, ...
- 获取元素属性中的[x] 标签: javascript 2016-12-24 22:35 105人阅读 评论(0)
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
随机推荐
- Ubuntu下安装java
1.首先到java.com下载最新版本的jdk.下面是jdk8的网址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-dow ...
- 使用 firewalld 构建 Linux 动态防火墙
firewalld 是新一 Linux 代防火墙工具,它提供了支持网络 / 防火墙区域 (zone) 定义网络链接以及接口安全等级的动态防火墙管理工具.它也支持允许服务或者应用程序直接添加防火墙规则的 ...
- hdu 4217Data Structure?
树状数组+二分 就是找第几小的数,,找几次,再求和. . #include<cstdio> #include<cstring> #include<iostream> ...
- JAVA多线程之Synchronized、wait、notify实例讲解
一.Synchronized synchronized中文解释是同步,那么什么是同步呢,解释就是程序中用于控制不同线程间操作发生相对顺序的机制,通俗来讲就是2点,第一要有多线程,第二当多个线程同时竞争 ...
- Nginx 1.5.2 + PHP 5.5.1 + MySQL 5.6.10 在 CentOS 下的编译安装
最近配置了几台Web服务器,将安装笔记贴出来吧.没时间像以前那样,将文章写的那样系统了,请见谅.详细配置,可以看以前的旧文章: http://blog.zyan.cc/nginx_php_v6 .安装 ...
- jquery的商品首页
js代码: $(function() { /*新闻滚动*/ var $this = $('.scrollNews'); var scrollTimer; $this.hover(function () ...
- HADOOP 2.6 INSTALLING ON UBUNTU 14.04 (hadoop 2.6 部署到ubuntu 14.04上面)
Hadoop on Ubuntu 14.04 In this chapter, we'll install a single-node Hadoop cluster backed by the Had ...
- 演练:创建和注册自定义 HTTP 模块
本演练演示自定义 HTTP 模块的基本功能. 对于每个请求,都需要调用 HTTP 模块以响应 BeginRequest 和 EndRequest 事件. 因此,该模块在处理请求之前和之后运行. 如果 ...
- git 删除分之以及删除文件夹
1.删除分支 1.1查看所有分支: git branch -a 得到结果: 1.2删除HEAD分支 git push origin --delete HEAD 2.删除文件夹 2.1 查看本地分支下的 ...
- java---同步与并发概念
Java中并发的形式无非是多线程和多进程两种形式.这两种形式都是可以利用多核来发挥计算能力的. 先说并发: 多进程意味着同时运行多个JVM,这个代价通常比多线程高,每个JVM都有自己的堆栈.都要分别加 ...