jstl为什么能用EL表达式。EL不是类似<%= %>的吗,它怎么可以在JSTL中赋值:value="${ i }"
2个回答
展开全部
jsp会被翻译成servlet。
${i}会被翻译成:
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${i}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null, false));
也就是说el表达式就是一个值,只是在翻译过程中,用out.write输出了。
<%=i%>会被翻译成out.print(i)
楼主可以在tomcat下的work下具体的虚拟主机下的看翻译后的源码。
jstl,是当遇到标签,就创建对应的对象,执行标签体。
总结:el表达式就是个值。我也是才学的。有错请提出
${i}会被翻译成:
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${i}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null, false));
也就是说el表达式就是一个值,只是在翻译过程中,用out.write输出了。
<%=i%>会被翻译成out.print(i)
楼主可以在tomcat下的work下具体的虚拟主机下的看翻译后的源码。
jstl,是当遇到标签,就创建对应的对象,执行标签体。
总结:el表达式就是个值。我也是才学的。有错请提出
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询