我正在使用SpringMVC3.2和JSP,我試圖顯示用戶信息。但我有問題在JSP頁面上顯示它。JSTL無法從服務器接收數據
這裏是我的控制器和JSP頁面:
@Controller
@RequestMapping("/map")
public class EventDataController {
private Logger log = LoggerFactory.getLogger(EventDataController.class);
@Autowired EventDataService eventDataService;
@Autowired UserService userService;
@RequestMapping(method = RequestMethod.GET)
public ModelAndView index() {
ModelAndView mv = new ModelAndView("devicemap");
UserDetails sessionUser = SecurityUtils.currentUserDetails();
User user = userService.findUser(sessionUser.getUsername());
log.info("user==>" + user);
if (user==null){
mv.addObject("error", "Cannot find user.");
} else {
mv.addObject("user", user);
}
return mv;
}
}
devicemap.JSP
<span class="alert" id="userInfo">
<c:choose>
<c:when test="${!empty user}">
${user.userId}
</c:when>
<c:otherwise>
User not found
</c:otherwise>
</c:choose>
</span>
applicationContext.xml
<!-- ViewResolver for JSP -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
當我檢查用戶對象的控制器,它擁有用戶數據和devicemap.jsp是在WEB-INF /頁。
我做錯了什麼?任何幫助,將不勝感激。
它在我將ModelAndView中的鍵名更改爲任何其他名稱而不是'user'時起作用。 '用戶'是JSTL中的保留關鍵字嗎? – sunghun
我不認爲'user'是JSTL的關鍵字。更改密鑰名稱後,是否嘗試再次將其更改回'user'?如果它的工作原理和你的服務器是'Tomcat',我想原因是'jsp'文件被緩存在'work'文件夾中。你可以嘗試並提供一些反饋? –