为什么在<input>标签中能写JSTL代码?
<input type="text" class="span12" name="loginname" autocomplete="off" <c:if test="${loginname!=null}">value="${loginname}"</c:if> placeholder="邮箱/用户名/已验证手机" />
巴扎黑2017-04-18 09:24:46
JSP
标准标签库(JSP Standard Tag Library,JSTL
)是一个JSP
标签集合,它封装了JSP
应用的通用核心功能。和JSP
里面的标签是可以一起使用的,而JSP
包含静态部分(标准的HTML
标签、静态的页面内容等)和动态内容(Java程序控制的内容),实际上JSP
是Servlet
的一种特殊的形式,每一个JSP
的页面就是一个Servlet
的实例。所以在<input>
标签里面加入JSTL
代码,等同于完成一个完成的业务逻辑Servlet
,两者之间可以搭配使用。
PHP中文网2017-04-18 09:24:46
tomcat会读取jsp文件,解析jsp中的非html标签,像你这里的话tomcat会读取这段<c:if test=></c:if>代码并用解析器解析(文件头里的taglib对应类),归根到底就是jsp会经过tomcat的compile再转换成outputstream(标准的html代码)到client(ie,ff,chrome)
怪我咯2017-04-18 09:24:46
jstl代码在书写的时候有固定的格式与写法,它们会先经由tomcat等servlet容器解析生成相应的结果数据,这个过程发生在服务器端;而html标签解析发生在浏览器端