jsp中Undefined type: xxxx...
在测试jsp的动作元素<jsp:useBean >时,写了一个计数器的栗子:
JavaBean:
1 package com.pers.count;
2 /**
3 * @author liangyadong
4 * @date 2017年4月11日 下午3:10:05
5 * @version 1.0
6 */
7 public class Counter {
8 int count = 0;
9 public Counter(){}
10 public int getCount() {
11 count++;
12 return count;
13 }
14 public void setCount(int count) {
15 this.count = count;
16 }
17
18 }
jsp:
1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4 <html>
5 <head>
6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7 <title>Insert title here</title>
8 </head>
9 <body>
10 <%-- 指定JavaBean实例,相应的生存范围及全限定类名 --%>
11 <jsp:useBean id="countbean" scope="application" class="count.Counter" />
12 <%-- 使用getProperty动作元素获得count属性值 --%>
13 the number of requests is:
14 <jsp:getProperty property="countbean" name="count"/>
15 </body>
16 </html>
上图:
解决见图中注释.但是!!!凡事都有个但是!页面虽然不报错了,但是启动tomcat后访问该jsp,又出现了错误:The value for the useBean class attribute com.pers.count.Counter is invalid.
这特么就尴尬了.统共两行代码还给报了个这错???
原因:<jsp:getProperty property="" name="">这个动作元素中的property和name的值写反了!此处的name的值应该和上面<jsp:useBean id="" scope="" class="">中的id对应!!!
解决:
line14改为:
<jsp:getProperty property="count" name="countbean"/>
好了,重启汤姆凯特,访问页面并刷新,计数器好使了.
作者:习惯沉淀
如果文中有误或对本文有不同的见解,欢迎在评论区留言。
如果觉得文章对你有帮助,请点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
扫码关注一线码农的学习见闻与思考。
回复"大数据","微服务","架构师","面试总结",获取更多学习资源!