因为xpage自带dojo模块,因此使用对话窗口时,我们可以直接使用dojo下的Dialog对象。
常规的dojo调用方法,需要下面的定义:
<script>dojoConfig = {parseOnLoad: true}</script>
<script src='../_static/js/dojo/dojo.js'></script>
<script>
require(["dojo/parser", "dijit/Dialog", "dijit/form/Button", "dijit/form/TextBox", "dijit/form/DateTextBox", "dijit/form/TimeTextBox"]);
</script>
xpage在页面加载时,自动使用dojo进行解析:
<script type="text/javascript" src="/xsp/.ibmxspres/dojoroot-1.6.1/dojo/dojo.js" djconfig="locale: 'zh-cn', parseOnLoad: true"></script>
所以不需要上面那些引用;我们直接在xpage的源中使用<script></script>标签引用我们需要使用的对象即可,现在我们要引用的时Dialog对象。使用下面的语句就可以引入Dialog对象了。
<script type="text/javascript">dojo.require('dijit.Dialog')</script>
接下来就是编写HTML,填充Dialog的内容
<div id="sign" title="提示" data-dojo-type="dijit.Dialog"
style="height:250.0px;width:240.0px">
<xp:table style="width:90.0%" align="center">
<xp:tr>
<xp:td>
<xp:radioGroup id="fldIfGaiZhang"
value="#{document1.fldIfGaiZhang}" layout="pageDirection">
<xp:selectItem itemLabel="LabelValue"
itemValue="0">
</xp:selectItem>
<xp:selectItem itemLabel="LabelValue" itemValue="1"></xp:selectItem>
</xp:radioGroup>
</xp:td>
</xp:tr>
</xp:table>
<div style="text-align:center">
<xe:djButton id="djButton1" label="确定"></xe:djButton>
<xe:djButton label="取消" id="djButton2"></xe:djButton>
</div>
</div>
这里的div,我使用了html的标记,而不是xpage的<xp:div></xp:div>,是为了使用dijit.byId()的方法来获取这个Dialog对象,以便更好的去使用Dialog对象的方法。