java - 属性命名约定导致 JSP 页面中的长 EL 表达式

标签 java jsp jstl el

我正在为不同的 View 编写大量 JSP 页面。这些 JSP 检索请求范围属性,这些属性具有很长的名称以防止重叠。一个例子是:

request.getAttribute("domain1.subdomain1.subdomain11.subdomain111.attributeName");

EL 中的等价物是:

${requestScope['domain1.subdomain1.subdomain11.subdomain111.attributeName']}

有时,我的 EL 表达式很长(例如,当我使用 3 个不同的 JavaBeans 来创建 HTML 标记或调用 javascript 函数时)。

我的问题是我找到的解决方案是否是一个好的编程解决方案。考虑到每个 View 都有自己的页面范围,在我的 JSP 开头,我想放置

<c:set var="attributeName" scope="page" value="${requestScope['domain1.subdomain1.subdomain11.subdomain111.attributeName']}"

然后在我的 EL 表达式中,我将使用

${pageScope["attributeName"]}

这不会在阅读 JSP 代码时造成对属性的实际范围的混淆吗?

最佳答案

这看起来好像您正在为长变量名创建别名;没关系。

关于java - 属性命名约定导致 JSP 页面中的长 EL 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16898686/

相关文章:

java - IllegalStateException:调用 onStop() 方法时没有 Activity

java - 带有 struts 标签的输出参数化 bean 属性

jsp - Struts无法从jsp目录访问jsp

jsp - 什么是 JSTL 强制 Jars

java - 从主题添加按钮到预先存在的工具栏

java - 是否可以有一个基于 "HotReload"docker 的 java 环境?

java - 是否可以使用 OpenID/oAuth 作为单域上不同平台的 SSO?

java - insertable=false 将 null 放入我的值中,但 true 给出错误(多对多关系)

java - 通过 JSTL 访问列表时出现异常

java - 如何在 JSTL 中的对象列表上迭代对象?