Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jspel可以直接访问属性吗_Jsp_El - Fatal编程技术网

jspel可以直接访问属性吗

jspel可以直接访问属性吗,jsp,el,Jsp,El,这真让我吃惊!我的JSP中有以下代码 <c:param name="title" value="${slideShow.title}" /> 这段代码一直在工作,直到我重构SlideShow类并公开所有属性并删除getter/setter。因此,在我看来,EL只能与getter一起工作,而不能直接访问属性。这是真的吗?有没有办法让它使用直接属性而不是通过getter来工作?JSP EL严格依赖于javabean规范,因此它不能使用其他约定来访问属性值 事实上,你可以读到这是 因

这真让我吃惊!我的JSP中有以下代码

<c:param name="title" value="${slideShow.title}" />


这段代码一直在工作,直到我重构SlideShow类并公开所有属性并删除getter/setter。因此,在我看来,EL只能与getter一起工作,而不能直接访问属性。这是真的吗?有没有办法让它使用直接属性而不是通过getter来工作?

JSP EL严格依赖于javabean规范,因此它不能使用其他约定来访问属性值

事实上,你可以读到这是

因此,可以调用非getter方法(而不是属性),但只能从特定的EL-vesion调用:

由于EL2.2是作为Servlet3.0/JSP2.2(Tomcat7、GlassFish3、JBossAS6等)的一部分进行维护的,因此可以调用非getter方法,如果需要,可以使用参数

例如${bean.find(param.id)}with


你有没有考虑过使用一些MVC框架,比如SpringMVC?@BorisTreukhov我正在使用古老而痛苦的技术——Struts1.3+EJB3.0。这是一个小但生产质量高的项目,将用于一些Struts+EJB+JUnit培训。我读到EJB3.x实体的一个良好实践是公开属性并使用直接属性访问。然而,在我这么做的那一刻,JSP开始失败。我正在考虑为视图层添加另一层DTO,其中包含getter/setter。然而,没有getters EL就无法工作的事实让我感到困惑。@BorisTreukhov无法更改技术堆栈,因为它将被用作特定培训的参考。抱歉,我误解了我最初认为是关于设置值的问题:-)。谢谢你的帮助。我想我要用getter/setter创建一个DTO层
public Something find(String id) {
    return someService.find(id);
}