2010-02-08 37 views
0

我們有一個運行struts 1.2和velocity的成熟應用程序,我需要將一個頁面從vm轉換爲jsp。來自速度用戶的Struts 1.2的JSP

因此,我修改了我的struts-config,將轉發更改爲新的JSP文件,並在JSP中嘗試顯示一些分配給表單bean的數據,但所有表單屬性在JSP中顯示爲空。當我看到表單本身時,我發現它們是不同的對象。所以不知何故,我在Action中使用的表單bean與JSP所看到的不一樣。

任何想法?

 <form-beans> 

     <form-bean name="scheduleDisplayForm" type="web.scheduler.ScheduleDisplayForm"/> 

    </form-beans> 

    <action-mappings> 
     <action path="/displaySchedule" 
       type="web.scheduler.ScheduleDisplayAction" 
       name="scheduleDisplayForm" scope="request" parameter="method"> 

      <!--<forward name="success" path="/scheduler/scheduler.vm"/>--> 
      <forward name="success" path="/scheduler/scheduler.jsp"/> 
     </action> 
    </action-mappings> 

在我的JSP我只是想這一點:

 <%@ page contentType="text/html" %> 
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> 
    <%@ taglib prefix="h" uri="http://java.sun.com/jsp/jstl/xml" %> 
    <%@ taglib prefix="b" uri="http://jakarta.apache.org/struts/tags-bean" %> 

    <jsp:useBean id="schedule" class="web.scheduler.ScheduleDisplayForm" scope="request"/> 

    <!-- display the object --> 
    <%=schedule%> 
    <!-- shows NULL --> 
    <%=schedule.getRoomsToDisplay()%> 
+0

你能否澄清一下:「當我看到表單本身時,我發現它們是不同的對象。」一點點? – 2010-02-08 13:32:16

+0

Form對象實際上是不同的對象。 在行動我會記錄它,它表明: 在JSP [email protected] 其不同的對象: [email protected] – sproketboy 2010-02-08 13:40:20

+0

你在你的行動和你之間做任何重定向JSP?還要注意元素定位或實例化一個JavaBeans組件,不確定是否正確檢索了這個bean,它沒有找到它並創建一個。請求範圍中的名稱應與「scheduleDisplayForm」相關。作爲一個測試,列出JSP中的所有請求屬性,以查看範圍內的內容,並查看「scheduleDisplayForm」是否存在。 – 2010-02-08 14:20:20

回答

0

感謝文森特和DPB!

我明白它是什麼。在Struts配置中,我將表單命名爲scheduleDisplayForm,在jsp中我使用了「schedule」這個名稱。我需要保持struts配置的命名來獲得相同的對象。