在jsp和java(Spring)之间重用变量名



我现有的jsp是

<c:forEach var="domainOrGroupParentDetails"
    items="${allDomainOrGroupParentDetails}" varStatus="status">
    <option
        value="${domainOrGroupParentDetails.domainOrGroupParentPojo.name}">
        ${domainOrGroupParentDetails.domainOrGroupParentPojo.name}</option>
</c:forEach>

我现有的Spring Java是

data.put("allDomainOrGroupParentDetails",
    getDomainOrGroupParentResponse.getDomainOrGroupParentPojoWrappers());

由此,我尝试执行以下操作

public class ModelObjectKeys {
    public static class OnLoadAddDriverConstants {
    }
    public static final String allDomainOrGroupParentDetails = "allDomainOrGroupParentDetails";
}

在 jsp 中,我做到了

<c:forEach var="domainOrGroupParentDetails"
    items="${<%=ModelObjectKeys.allDomainOrGroupParentDetails%>}" varStatus="status">
    <option
        value="${domainOrGroupParentDetails.domainOrGroupParentPojo.name}">
        ${domainOrGroupParentDetails.domainOrGroupParentPojo.name}</option>
</c:forEach>

我还像这样在 html 中导入了 java 文件

<%@ page import="com.mnox.corporate.model.design.ModelObjectKeys"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

它仍然不起作用。我得到

org.apache.jasper.JasperException: /WEB-INF/views/onLoadAddDriverView.jsp (行: 270, 列: 10( "${<%=ModelObjectKeys.allDomainOrGroupParentDetails%>}" 包含 无效表达式

我错过了什么?

编辑

Jun 19, 2017 7:28:11 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [appServlet] in context with path [/BuseetaCorporate] threw exception [An exception occurred processing JSP page /WEB-INF/views/onLoadAddDriverView.jsp at line 271
268:                                        <c:forEach var="domainOrGroupParentDetails"
269:                                            items="${ModelObjectKeys.allDomainOrGroupParentDetails}" varStatus="status">
270:                                            <option
271:                                                value="${domainOrGroupParentDetails.domainOrGroupParentPojo.name}">
272:                                                ${domainOrGroupParentDetails.domainOrGroupParentPojo.name}</option>
273:                                        </c:forEach>
274:                                    </select>
Stacktrace:] with root cause
javax.el.PropertyNotFoundException: Property 'domainOrGroupParentPojo' not found on type java.lang.String
    at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:268)

更改items="${<%=ModelObjectKeys.allDomainOrGroupParentDetails%>}"items="${ModelObjectKeys.allDomainOrGroupParentDetails}"

不能在 EL 表达式中嵌套脚本

${<%=ModelObjectKeys.allDomainOrGroupParentDetails%>}应该像${ModelObjectKeys.allDomainOrGroupParentDetails}

最新更新