我只想将 jstl:core 与 SpringMVC 一起使用。
我的控制器包含类似:
private Map<UUID, ProductBean> products = new ConcurrentHashMap<UUID, ProductBean>();
…………
@RequestMapping(value="/createproduct/{pbid}", method=RequestMethod.GET)
public String getProduct(HttpServletRequest req, Model model, @PathVariable("pbid") UUID pbid) {
if(!products.containsKey(pbid)){
ProductBean tmp=new ProductBean();
products.put(pbid, tmp);
//model.addAttribute("product",tmp);
System.err.println("============empty now===============\n");
}else{
ProductBean tmp=products.get(pbid);
System.err.println(pbid.toString());
System.err.println(tmp.getMpf().printFileNameList());
}
req.getSession().setAttribute("pbId", pbid);
model.addAttribute("pbId", pbid);
return "production/createproduct";
}
我想要简单地使用 jstl,例如:
<c:choose>
<c:when test="${products.get(pbId).getMpf().size()==0}">
<p>No pictures uploaded</p>
</c:when>
<c:otherwise>
<ul id="products">
......
</ul>
</c:otherwise>
</c:choose>
但是程序永远不会去第一个分支
我在我的jsp中添加了 <%@ page import="java.util.*" language="java" %> 包,但它似乎不起作用。我遵循http://www.springbyexample.org/examples/spring-web-flow-subflow-webapp-jsp-example.html中的示例。似乎他们也有变量没有像 ${persons} 那样在 jsp 中声明。我希望 products 变量可以同时使用控制器和 jsp 视图部分。我需要做什么?我应该在哪里申报?我需要在我的jsp中包含其他包吗?