lt;action-mappings> 部分中匹配的 start 路径会使 OverviewAction 在 overview 模块中调用。根据 web.xml 文件中的配置,这一过程需要使用 到 overview/struts-config.xml 文件。overview/struts-config.xml 包含以下的设置:
<!-- ===== Global Forward Definitions ===== -->
<global-forwards>
<forward name="start" path="/start.do"/>
</global-forwards>
<!-- ===== Action Mapping Definitions ===== -->
<action-mappings>
<action path="/start"
type="com.test.strutstest.actions.OverviewAction"
name="overviewFormBean"
scope="request">
<forward name="success" path="/Overview.jsp"/>
</action>
</action-mappings>
failure:
根据 default 模块的 struts-config.xml 文件中的配置,这种参数值下会启动 failure.jsp 。
到目前为止,我们已经创建了表 1 中所列出的文件,并根据我们的示例需要,对其中的大部分做了修 改。现在我们就可以开始编写代码来实现使用 overview 模块的页面导航。以下部分将通过具体步骤指导 您完成这一过程。
使用Struts portlet在门户应用程序中实现页面导航(9)
时间:2011-07-25 IBM Zeynep Latif
开发 overview 模块
要想生成 Overview.jsp 文件、OverviewAction 类、OverviewFormBean 类和 overview/struts- config.xml 文件来开发 Overview Struts portlet,请在操作类和 JSP 文件中遵循这些开发任务:
一旦控制权从 default 模块转移到 Overview 模块,OverviewAction 类中的 execute() 方法会执行 以下这些任务:
访问 OverviewFormBean 表单 bean 并设置以下属性:
try
{
String forwardName = null;
if (form == null)
{
form = (ActionForm) request.getAttribute("overviewFormBean");
}
//Set-up form bean fields
OverviewFormBean formBean = (OverviewFormBean) form;
formBean.setPhoneNumbersLinkName("List Phone Numbers");
formBean.setAddressLinkName("Address Information");
...................................................
在正确的作用域内存储该表单 bean:
try
{
//Store the bean in the correct scope
if ("request".equals(mapping.getScope()))
request.setAttribute(mapping.getName(), formBean);
else
session.setAttribute(mapping.getName(), formBean);
}
catch (Exception e)
{
..................................
}
在 overview/struts-config.xml 中查找映射并返回一个 ActionForward 类型的对象:
String forwardName = null;
ActionForward forward = new ActionForward();
.......................................//If no errors occur then look for "success"
try
{
forward = mapping.findForward(forwardName);
if (forward != null)
{
.....................................
}
else
.....................................
}
catch(Exception e)
{
...................................
}
return (forward);
如果在操作类的处理过程中没有出现错误,那么根据我们在 overview/struts-config.xml 文件中的 配置,转发名称 s |