在JSP中使用模型值作为bean

问题描述 投票:0回答:1

给定以下控制器:

@Controller
public class LandingPageController {

    @RequestMapping(value = "/landingPage", method = RequestMethod.GET)
    public String landingPage(Map<String, Object> model) {
        model.put("page", new LandingPage());
        return "landingPage";
    }

}

这将是我的 JSP:

<c:forEach items="${page.links}" var="link">
    <a href="${link.reference}">${link.label}</a>
</c:forEach>

IntelliJ IDEA 显示以下警告:

无法解析变量“页面”

使用 quickfix,IntelliJ 添加:

<jsp:useBean id="page" scope="request" type="com.myApp.LandingPage"/>

这反过来会导致加载站点时出现重复变量异常。

现在我的问题:

  • 如何在 JSP 中定义变量(包括其类型)而不创建重复变量?
jsp spring-mvc intellij-idea usebean
1个回答
1
投票
<%--@elvariable id="page" type="com.myApp.LandingPage"--%>
<c:forEach items="${page.links}" var="link">
    <a href="${link.reference}">${link.label}</a>
</c:forEach>

使用 @elvariable,现在可以使用类型信息,并且 IntelliJ 会提供代码完成以及如果方法(本示例中的 getLinks)不存在时发出警告

看到这个问题

© www.soinside.com 2019 - 2024. All rights reserved.