给保存按钮重新接线,指向一个成功更新邮件地址的新窗口。
一、给“保存”重新接线
1、改保存视图映射:
162行
\applications\part\webapp\partymgr\WEB-INF\controller.xml
将<request-map uri=”updatePostalAddress”>的子元素的
<response name="success" type="view" value="editcontactmech"/>
内容为:
<response name="success" type="view" value="PostalAddressAdvisory"/>
2、新建视图映射文件:
扩展原来的controller.xml文件,在controller.xml旁边新建一个名为extended.xml的文件。意图为最小化的controller.xml的更改。
新建一个叫做PostalAddressAdvisor的视图映射,输入如下内容到extended.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<site-conf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/site-conf.xsd">
<view-map name="PostalAddressAdvisory" type="screen" page="component://party/widget/partymgr/OurPartyScreens.xml#PostalAddressAdvisory" />
</site-conf>
3、在controller.xml 中把extended.xml文件包含进去:
在26行
<description>Party Manager Module Site Configuration File</description>
的上面插入如下内容:
<include location="component://party/webapp/partymgr/WEB-INF/extended.xml"/>
二、创建新的Widget窗口(创建OurPartyScreens.xml文件)
\application\part\widget\partymgr\OurPartyScreens.xml
输入如下内容:
<?xml version="1.0" encoding="UTF-8"?>
<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/widget-screen.xsd">
<screen name="PostalAddressAdvisory">
<section>
<actions>
<set field="titleProperty" value="PageTitleEditContactMech" />
<set field="headerItem" value="find" />
<set field="tabButtonItem" value="editcontactmech" />
<set field="labelTitleProperty" value="PageTitleEditContactMech" />
<script location="component://party/webapp/partymgr/WEB-INF/actions/party/editcontactmech.bsh" />
</actions>
<widgets>
<decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<section>
<widgets>
<platform-specific>
<html>
<html-template location="component://party/webapp/partymgr/party/postaladdressadvisory.ftl" />
</html>
</platform-specific>
</widgets>
</section>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
</screens>
上面的<html-template>元素如何指向文件postaladdressadvisory.ftl的。我们需要在下一步创建它。
注意突出部分,在09.04中,已经升级为groovy脚本,BeanShell脚本已不存在了,请将黄底加粗部分的一行替换为:
<script location="component://party/webapp/partymgr/WEB-INF/actions/party/EditContactMech.groovy" />
这样后来的测试才不会出错。
<script></script>
三、创建ftl文件
\applications\part\webapp\party\partymgr\party\postaladdressadvisor.ftl
输入以下内容:
<h2><u>伪造邮件地址建议</u></h2>
<br/>
v<div style="width:20%">
请考虑火星的重力只有地球的三分之一,但却有强达400km/h的大风。所有到火星的邮包必须至少20kg以帮助装卸。
</div>
<br/>
<div style="width:20%">
请考虑到该建议也是伪造的,你可以完全忽略它。
</div>
<br/>
<a href="<@ofbizUrl>editcontactmech?partyId=${partyId}&contactMechId=${contactMechId}</@ofbizUrl>">返回编辑邮寄地址</a>
请使用GBK(当然是对于中国大陆用户而言,其他国家与地区请自行解决)保存这个FTL文件,否则下一步的查看将出现乱码。因为这个web应用的Reader使用默认的编码读取FTL文件,虽然前台是以UTF-8编码显示的,但如果以UTF-8保存文件,乱码仍然会发生。
四、验证:
点击保存->