0

Struts 1.2 と Velocity を実行する成熟したアプリケーションがあり、ページを vm から jsp に変換する必要があります。

そのため、struts-config を変更して転送を新しい JSP ファイルに変更し、JSP でフォーム Bean に割り当てられたデータを表示しようとしましたが、JSP ではすべてのフォーム プロパティが空で表示されます。フォーム自体を見ると、それらが異なるオブジェクトであることがわかります。そのため、どういうわけか、アクションで使用したフォーム 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()%>
4

1 に答える 1

0

Vincent と dpb に感謝します。

私はそれが何であるかを参照してください。Struts config ではフォームに scheduleDisplayForm という名前を付け、JSP では「schedule」という名前を使用しました。同じオブジェクトを取得するには、struts 構成からの命名を保持する必要があります。

于 2010-02-08T14:35:26.447 に答える