实现原理:
<jsp:setProperty name="myUser" property="*"/>通过JSP引擎翻译成:
org.apache.jasper.runtime.JspRuntimeLibrary.introspect(_jspx_page_context.findAttribute("myUser"), request);
这个Jasper的方法应该是通过反射获取User类的字段名(如username,在request.getParameter("字段名")获取表单数据,然后user.set字段名。
<jsp:setProperty name="myUser" property="*"/>通过JSP引擎翻译成:
org.apache.jasper.runtime.JspRuntimeLibrary.introspect(_jspx_page_context.findAttribute("myUser"), request);
这个Jasper的方法应该是通过反射获取User类的字段名(如username,在request.getParameter("字段名")获取表单数据,然后user.set字段名。
2016-10-05
jsp:usebean 这些实际工作中用的比较少,这些JavaBean一般都是Servlet, action创建返回给jsp的。
还有就是jsp用的也不多啦,但作为基础学习还是重要的。
还有就是jsp用的也不多啦,但作为基础学习还是重要的。
2016-10-05
实际开发中比较常用的是请求转发,通过不同的Servlet、JSP、Action做不同的处理,完成或返回客户端。
重定向感觉用的比较少,一般是一些网页资源换了网址,才会把客户端请求重定向转走到另一个网址吧。
重定向感觉用的比较少,一般是一些网页资源换了网址,才会把客户端请求重定向转走到另一个网址吧。
2016-10-04
- JSP 指令: page: 生成生成import, response header,
- JSP taglib: <%@ taglib prefix="s" uri="/struts-tags"%> <c:if test="true">显示<% out.print(add(4,5)); %> </c:if>
生成Java代码块
- JSP include: 整块JSP内容插入
- JSP taglib: <%@ taglib prefix="s" uri="/struts-tags"%> <c:if test="true">显示<% out.print(add(4,5)); %> </c:if>
生成Java代码块
- JSP include: 整块JSP内容插入
2016-10-04
- JSP注释 <% //我是JSP脚本注释 %> 会生成Java注释, 如//我是JSP脚本注释
- HTML注释<!-- 我是HTML注释,在客户端View Source可见 --> , 会生成输出代码out.write("<!-- 我是HTML注释,在客户端View Source可见 -->\r\n");
- JSP注释<%-- 我是JSP注释,在客户端View Source不可见 --%>,不会生成任何内容,在JSP生成代码阶段就抛弃了。
- HTML注释<!-- 我是HTML注释,在客户端View Source可见 --> , 会生成输出代码out.write("<!-- 我是HTML注释,在客户端View Source可见 -->\r\n");
- JSP注释<%-- 我是JSP注释,在客户端View Source不可见 --%>,不会生成任何内容,在JSP生成代码阶段就抛弃了。
2016-10-04
希望能帮助同学们理解JSP,JSP最终是编译成Servlet来执行的,在编译前会生成一个Java类:
- JSP声明<%! %>会被用来生成成员变量,如int i=i+1; String str = "张三";
- JSP脚本<% %>会被用来生成JSPService方法里面的方法代码, 包括局部变量声明。
- JSP表达式也会被用来生成"输出到业务“的方法代码,例如out.print(“你好 + str)。
- JSP声明<%! %>会被用来生成成员变量,如int i=i+1; String str = "张三";
- JSP脚本<% %>会被用来生成JSPService方法里面的方法代码, 包括局部变量声明。
- JSP表达式也会被用来生成"输出到业务“的方法代码,例如out.print(“你好 + str)。
2016-10-04
强烈建议,学习的小伙伴们一定不要只看视频,不敲代码,不然你看不下去的,就算看下去了,觉得自己理解了,但等不了多久就忘了,而且不会敲。
2016-10-04