为了账号安全,请及时绑定邮箱和手机立即绑定

关于 jsp 页面直接使用${对象.属性} (${course.title})的一点疑问?

有个疑问,实体对象里面的属性是 private的。如下 // 课程名称 private String title; 但是在jsp页面调用的时候为什么可以使用${course.title} 。按理说私有的属性应该在jsp页面是不能访问的吧。而且我想我的项目里面实践的时候确实在使用的时候报错了。只能使用${course.getTitle()}好像才能正确。

正在回答

2 回答

事实上我单独写了一串代码。直接对象.属性会报错。

0 回复 有任何疑惑可以回复我~
#1

qq_宇_38 提问者

经过测试,我的代码报错是因为我的实体属性首字母大写,我在jsp页面使用EL表达的时候属性名称首字母也同样适用了大写(${User.Id}),所以导致报错。把jsp页面的属性改成小写即可(${User.id})。
2016-05-19 回复 有任何疑惑可以回复我~

你和我想到一块了,我是这样理解的,我觉得jsp页面里使用EL表达式${course.title}中的course是CourseController类中的viewCourse方法中的model类型的model里面的

model.addAttribute(course);

,也就是说在spring MVC框架中,model从控制器出来回到前端控制器,jsp再调用model,从而在model里面调用course。我不知道理解的对不对?

http://img1.sycdn.imooc.com//573d80410001234611870691.jpg


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于 jsp 页面直接使用${对象.属性} (${course.title})的一点疑问?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信