脚本宝典收集整理的这篇文章主要介绍了html5教程-15. 如何在XPages中提示操作成功,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
一个Web应用中,在诸如保存和提交成功之类的情况下,页面没有变化,显示也差别不大,有时就需要额外提示用户上一个操作的结果。这时候可以简单在返回的页面中利用alert()函数弹出窗口(较早的做法),也可以更温和地在页面的某一部分用特殊的背景和字体显示消息(当前流行的做法)。这两种方法在XPages下都很容易实现。
方案一:下面在一个按钮的单击事件中先执行业务逻辑,然后在返回的页面中弹出提示。
[html]
<xp:button value="Label" id="button1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action><![CDATA[#{javascript://Business logic goes here.
view.postScript("alert('done')"); }]]>
</xp:this.action>
</xp:eventHandler>
</xp:button>
postScript是XPages为view对象建立的一个很有趣且有用的方法,它会将参数中的脚本传递到前端执行。
方案二:在页面上添加一个用于显示操作结果的计算文本(这里使用的风格是粗体黑字黄色背景色),它的值绑定到requestScope.message。同样在按钮中执行完业务逻辑后,将状态传入requestScope.message。
[html]
<xp:p style="text-align:center">
<xp:text escape="true" id="message" contentType="html" value="#{requestScope.message}" style="background-color:rgb(255,255,0);font-weight:bold"></xp:text>
</xp:p>
<xp:button value="Label" id="button1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action><![CDATA[#{javascript://Business logic goes here.
requestScope.put("message", "done");}]]>
</xp:this.action>
</xp:eventHandler>
</xp:button>
如果业务逻辑是在Bean中用Java编写,也能够很方便地实现上述两种方案:
[java]
UIViewRootEx2 view=(UIViewRootEx2) FacesContext.getCurrentInstance().getViewRoot();
view.postScript("alert('done')");
FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put("message", "done");
可以看到上面服务器端Javascript中的view是一个Java的UIViewRootEx2对象,是XPages将JSF的ViewRoot接口扩展而成的,仍然从FacesContext实例的getViewRoot方法获得
一个Web应用中,在诸如保存和提交成功之类的情况下,页面没有变化,显示也差别不大,有时就需要额外提示用户上一个操作的结果。这时候可以简单在返回的页面中利用alert()函数弹出窗口(较早的做法),也可以更温和地在页面的某一部分用特殊的背景和字体显示消息(当前流行的做法)。这两种方法在XPages下都很容易实现。
方案一:下面在一个按钮的单击事件中先执行业务逻辑,然后在返回的页面中弹出提示。
[html]
<xp:button value="Label" id="button1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action><![CDATA[#{javascript://Business logic goes here.
view.postScript("alert('done')"); }]]>
</xp:this.action>
</xp:eventHandler>
</xp:button>
postScript是XPages为view对象建立的一个很有趣且有用的方法,它会将参数中的脚本传递到前端执行。
方案二:在页面上添加一个用于显示操作结果的计算文本(这里使用的风格是粗体黑字黄色背景色),它的值绑定到requestScope.message。同样在按钮中执行完业务逻辑后,将状态传入requestScope.message。
[html]
<xp:p style="text-align:center">
<xp:text escape="true" id="message" contentType="html" value="#{requestScope.message}" style="background-color:rgb(255,255,0);font-weight:bold"></xp:text>
</xp:p>
<xp:button value="Label" id="button1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action><![CDATA[#{javascript://Business logic goes here.
requestScope.put("message", "done");}]]>
</xp:this.action>
</xp:eventHandler>
</xp:button>
如果业务逻辑是在Bean中用Java编写,也能够很方便地实现上述两种方案:
[java]
UIViewRootEx2 view=(UIViewRootEx2) FacesContext.getCurrentInstance().getViewRoot();
view.postScript("alert('done')");
FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put("message", "done");
可以看到上面服务器端Javascript中的view是一个Java的UIViewRootEx2对象,是XPages将JSF的ViewRoot接口扩展而成的,仍然从FacesContext实例的getViewRoot方法获得
觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! html5教程,巧夺天工,精雕玉琢。小宝典献丑了!
以上是脚本宝典为你收集整理的html5教程-15. 如何在XPages中提示操作成功全部内容,希望文章能够帮你解决html5教程-15. 如何在XPages中提示操作成功所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。