0
点赞
收藏
分享

微信扫一扫

j2ee学习总结(2)

闲云困兽 2022-04-30 阅读 74
后端

文章目录


21_jspELAndJavaBean

el表达式

之前的 JSP 页面中,我们经常使用 JSP 表达式来输出变量或者页面之间传递的参数。而使用el表达式,可以简化jsp页面代码
使用EL表达式获取数据语法:"${标识符}"

实例:

	语言accept-language: ${header['accept-language']}

	<!-- pageContext可以获得九大内置对象 -->
	会话编号session id: ${pageContext.session.id}

	雇员信息employee: 
	<!-- 意思为reguestScope域里面的employee对象的name属性的值 -->
	${requestScope.employee.name},<br/>
	${employee.address.country},<br/>
	${employee.address.state},<br/>
	${employee.address.city},<br/>

问题同一个war包下,有一个名为employee的类,而该页面是:
在这里插入图片描述
register.jsp,由index里的form表单传过来的数据
在这里插入图片描述
这里没有创建employee的对象,为什么在域里会有employee的实例对象呢?下面就介绍一下jsp的自动装配机制

jsp的自动装配

语法

public Object setProperty(String key_ele, String val_ele);
  • 字符串key_ele –表示要在其上设置值的键元素。
  • 字符串val_ele –表示给定键的value元素。

这里用了

property = ”*”表示所有名字和Bean属性名字匹配的请求参数都将被传递给相应的属性set方法。同时创建一个名为user的employee对象(通过前面名字匹配的参数找到传过来的参数属于employee的属性)

base标签

在这里插入图片描述
用处
base指定了一个URL地址后,所调用的文件或图片等无须再填写完整的地址,只需写上该文件名或图片名即可。因此可以解决路径冗长繁杂的问题。

在这里我们将
在这里插入图片描述去掉,在不修改图片引用地址的前提下也能找到图片,因为项目所在的默认路径已经是basePath所指向的路径。

basePath

在base标签里的basePath指的是什么呢?

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
  • request.getContextPath() 获取当前的系统路径,如果如果项目为根目录,则得到一个"",即空的字条串。
  • request.getRealpath(“/”)得到的是实际的物理路径,也就是你的项目所在服务器中的路径
  • request.getScheme() 等到的是协议名称,默认是http
  • request.getServerName() 得到的是在服务器的配置文件中配置的服务器名称 比如:localhost .baidu.com 等等
  • request.getServerPort() 得到的是服务器的配置文件中配置的端口号 比如 8080等。
举报

相关推荐

0 条评论