来自velocity用户的带有Struts 1.2的JSP

时间:2010-02-08 13:18:26

标签: java jsp struts velocity

我们有一个运行struts 1.2和velocity的成熟应用程序,我需要将页面从vm转换为jsp。

所以我修改了我的struts-config以将转发更改为新的JSP文件,并且在JSP中我尝试显示分配给表单bean的一些数据,但所有表单属性在JSP中显示为空。当我看到表单本身时,我发现它们是不同的对象。因此,我在Action中使用的表单bean与JSP看到的表单bean不同。

有什么想法吗?

        <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()%>

1 个答案:

答案 0 :(得分:0)

谢谢Vincent和dpb!

我知道它是什么。在Struts配置中,我将表单命名为scheduleDisplayForm,在jsp中我使用了名称“schedule”。我需要保持struts配置的命名以获得相同的对象。