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

に を追加してみJstlViewてくださいInternalResourceViewResolver

<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 に答える