目录
错误问题1:
解决方案:
里面的代码写错,cateSecond应该写成categorySecond
错误问题2:
解决方案:
在struts.xml没有配置要跳转的页面,<result name ="finByCsid">/WEB-INF/JSP/productList.jsp
</result>,加入这条错误,又换成了另一条错误
发现检查了一下<result name"findByCsid">/WEB-INF/JSP/productList.jsp</result>把里面的JSP改成小写就解决了
错误问题3:
图片以及商品的详细信息并没有正确显示出来
解决方案:
this.getHibernateTemplate().get(Product.class,pid);
这一行代码执行一个查询操作,但是它的返回值被忽略了,所以应该将查询的结果复制给一个变量,返回null。即使查到了数据,也不会正确的显示,正确代码如下
错误问题4:
页面没有成功的渲染成功,导致值只显示了数据,格式以及图片没有正确的显示出来
解决方案:
先了解一下
EL (Expression Language) 表达式是一种用于简化 JSP (JavaServer Pages) 页面的数据访问和表达的语言。EL 表达式允许开发者和页面设计者在 JSP 页面中以一种简洁的方式访问 JavaBean 属性和其他对象。
代码错误:
,不是¥符号而是这个$符号
正确的代码:<img src="${pageContext.request.contextPath}/image/footer.jpg"
这个是一个EL表达式,他会被JSP容器解析当请求的上下文路径,通常是一个应用的基础URL部分
为什么不能使用 "¥{...}"
- "¥{...}", 这个符号组合没有意义,既不是EL表达式的标准语法,也不是其他标准表达式的语法
在EL表达式中,必须要以${开始,并以}结束来标记一个表达式的开始和结束
EL的作用:
序号 | EL 作用 | 描述 |
---|---|---|
1 | 简化JSP页面 | 通过EL表达式,可以在JSP页面中直接访问JavaBean的属性、数组、List、Map等集合对象,无需编写繁琐的Java代码片段。 |
2 | 自动类型转换 | EL表达式会根据上下文环境自动转换类型,例如,当需要输出一个数字类型的属性时,EL会自动将其转换为字符串形式。 |
3 | 支持运算符 | EL提供了基本的算术运算符、关系运算符、逻辑运算符等,使得在JSP页面中进行简单的逻辑判断和运算成为可能。 |
4 | 读取请求参数 | EL可以直接读取HTTP请求中的参数,而无需通过request.getParameter() 方法。 |
5 | 读取JSP内置对象 | EL可以方便地访问JSP的内置对象,如request 、session 、application 等,并获取其属性值。 |
6 | 读取JSP作用域属性 | EL可以根据不同的作用域(page、request、session、application)访问属性值,如果未明确指定作用域,则按照page、request、session、application的顺序依次查找。 |
7 | 空值处理 | EL提供了对空值的处理机制,当尝试访问的属性或对象为空时,EL表达式可以返回一个默认值(通过?: 运算符实现),避免了NullPointerException。 |
8 | 简化JSTL标签 | EL常与JSTL(JavaServer Pages Standard Tag Library)结合使用,简化JSP页面的开发。JSTL标签通过EL表达式获取数据,实现页面内容的动态展示。 |
9 | 提高页面可读性 | 使用EL表达式可以使JSP页面更加简洁,减少Java代码片段,提高页面的可读性和可维护性。 |
10 | 便于国际化和本地化 | EL可以与资源包(ResourceBundle)结合使用,实现JSP页面的国际化和本地化,便于为不同语言环境的用户提供相应的页面内容。 |