0

我正在使用 SpringMVC3.2 和 JSP,并且正在尝试显示用户信息。但是我在 JSP 页面上显示它有问题。

这是我的控制器和 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/pages 中。

我做错了什么?任何帮助,将不胜感激。

4

3 回答 3

1

好吧,根据我的说法,您在 JSTL 语法中犯了错误,因此请用于打印数据或仅查看以下内容。

<C:if test="${!empty user}">


</c:if>

或者你也可以这样做。

 <c:when test="${not empty user}">
    </c:when>

或者你也可以这样做。

 <c:when test="${!empty user}">
    </c:when>

试试这个,你的代言人会短路。

于 2013-09-23T05:29:09.720 回答
1

如果我没有错,检查“用户”的条件不合适。

你应该使用

<c:when test="${not empty user}">

或者

<c:when test="${user ne null}">

希望这对您有所帮助。:)

于 2013-06-04T08:03:30.380 回答
-1

尝试JstlViewInternalResourceViewResolver.

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass" 
        value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix">
        <value>/WEB-INF/pages/</value>
    </property>
    <property name="suffix">
        <value>.jsp</value>
    </property>
</bean>

这将确保正确评估 JSP 中的 EL 表达式。

于 2013-06-04T20:02:25.527 回答