我们有一个运行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()%>
答案 0 :(得分:0)
谢谢Vincent和dpb!
我知道它是什么。在Struts配置中,我将表单命名为scheduleDisplayForm,在jsp中我使用了名称“schedule”。我需要保持struts配置的命名以获得相同的对象。