给出以下控制器:
@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显示以下警告:
无法解决变量&#39; page&#39;
使用quickfix,IntelliJ添加:
<jsp:useBean id="page" scope="request" type="com.myApp.LandingPage"/>
这反过来会导致加载网站时出现重复的变量异常。
现在我的问题:
如何在JSP中定义变量(包括其类型)而不创建副本?**
答案 0 :(得分:0)
<%--@elvariable id="page" type="com.myApp.LandingPage"--%>
<c:forEach items="${page.links}" var="link">
<a href="${link.reference}">${link.label}</a>
</c:forEach>
使用 @elvariable ,现在可以输入类型信息,如果方法(本例中为getLinks)不存在,IntelliJ会提供代码完成和警告
请参阅此question