给定以下控制器:
@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"/>
这反过来会导致加载站点时出现重复变量异常。
<%--@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)不存在时发出警告
看到这个问题