【JSF小记】Managed Bean中控制页面弹出提示框

来源:互联网 发布:linux samba 配置 编辑:程序博客网 时间:2024/05/21 06:17

    了解jsf的人都知道,jsf的提示信息一般都是以抛message的方式来实现的。这种提示方式很常见,比如像在用户注册的时候,输入项验证的提示。但是这种方式有一个比较不好的地方,你必须为提示信息在页面上预留空间,以显示提示信息。这对页面设计有比较大的影响,特别是提示信息比较冗长的时候。

    在servlet中还有另一种方式对用户提示,那就是提示框。servlet中实现原理很简单,就是在response对象中写入js代码。

    jsf中Managed Bean中控制页面弹出提示框的原理基本上就是借鉴servlet的实现原理。

    代码如下:

    HttpServletResponseWrapper response = (HttpServletResponseWrapper)FacesContext.getCurrentInstance().getExteralContext.getResponse();

    try{

        ServletResponse sResponse = response.getResponse();

        sResponse.setCharacterEncoding("UTF-8");

        sResponse.getWriter().write("<script>alert('JSF提示框')</script>");

    } catch (IOException e) {

        e.printStackTrace();

    }

    以上就是Managed Bean中控制页面弹出提示框的代码。一般都是能正常弹出,不过在有文件上传的bean中会有问题,暂时没有解决。希望有牛人能提出解决方案。