2012-08-01 79 views
1

我有一個jsp頁面如何將對象從視圖傳遞給java函數?

<%@page import="org.springframework.web.servlet.ModelAndView"%> 
    <%@page import="mvc3.helpers.Utils"%> 
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
    <%@ page session="false" %> 
    <html> 
    <head> 
     <title>View Topic</title> 
    </head> 
    <body> 

    <fieldset> 
     <legend>${topic.getName()}</legend> 
     <div class="display-label-field"><b>Content:</b>${topic.getText()}</div> 
     <div class="display-label-field"><b>Comments count:</b>${topic.getCommentsCount()}</div> 
     <div class="display-label-field"><b>Last time updated:</b>${topic.getTimeLastUpdated()}</div> 

    </fieldset> 

    <p> 
    <%=Utils.actionLink("Comment Topic", "Topic", "AddComment", Integer.toString(topic.getId())) %> 
    <%=Utils.actionLink("Back to Topic List", "", "home", null)%> 
    </p> 

的問題是,$ {topic.getName()}工作正常,但<%= Utils.actionLink( 「評論主題」, 「主題」 ,「AddComment」,Integer.toString(topic.getId()))%>導致主題無法解析錯誤。我該如何處理這個問題?

回答

1

如果您在請求中設置屬性話題再做

Integer.toString(((Topic)request.getAttribute("topic")).getId()) 
+0

這是主題無法解決的錯誤,而不是運行時。 – kosa 2012-08-01 20:09:44

+0

看到更新,把題目的類型放在那裏 – 2012-08-01 20:12:54

+0

幾乎正確。我們需要使用完整類型聲明** mvc3.model.Topic **而不是**主題** – Eugene 2012-08-02 17:32:26

0

我們不應該訪問的getId與EL?像下面的東西?

Integer.toString(${topic.getId()}) 
0

變量"topic"尚未設置爲您的視圖模型。在你的控制器中,你需要這樣的東西:

myModelData.put("topic", topicId); 
相關問題