Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How do i return Html from managed bean in JSF?

843844Feb 28 2010 — edited Mar 1 2010
Hello,
How i have one method in my managed bean which returns javascript in String. When the method is invoked from head tag it works fine but when it is invoked from body, the browser instead of rendering the javascript writes it as it is. What can be the problem??This is my managed bean.


In my JSF page when i do #{IndexBean.EastRegionGadgets} in head it works fine but it doesn't in body. It output the html as it is. :(

package BusinessFacade;

import java.util.ArrayList;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.component.html.HtmlOutputText;


enum REGION{
    NORTH,EAST,WEST;
}

class Gadget{
    private String gadgetCode = "";
    private REGION gadgetRegion = REGION.WEST;

    public Gadget(String gadgetCode, REGION gadgetRegion){
        this.gadgetCode = gadgetCode;
        this.gadgetRegion = gadgetRegion;
    }

    public String getGadgetCode() {
        return gadgetCode;
    }

    public void setGadgetCode(String gadgetCode) {
        this.gadgetCode = gadgetCode;
    }

    public REGION getGadgetRegion() {
        return gadgetRegion;
    }

    public void setGadgetRegion(REGION gadgetRegion) {
        this.gadgetRegion = gadgetRegion;
    }

}

@ManagedBean(name="IndexBean")
@RequestScoped
public class IndexBean {
    ArrayList<Gadget> _list;
    public IndexBean() {
         
    }

    @PostConstruct
    public void initialize(){
        _list = new ArrayList<Gadget>();
        Gadget objGadget = new Gadget("<script type='text/javascript' src='http://cdn.widgetserver.com/syndication/subscriber/InsertWidget.js'></script><script>if (WIDGETBOX) WIDGETBOX.renderWidget('78d12c15-dc87-42f2-a78a-3f62a91a119a');</script><noscript>Get the <a href='http://www.widgetbox.com/widget/crystal-clock'>Crystal Clock</a> widget and many other <a href='http://www.widgetbox.com/'>great free widgets</a> at <a href='http://www.widgetbox.com'>Widgetbox</a>! Not seeing a widget? (<a href='http://docs.widgetbox.com/using-widgets/installing-widgets/why-cant-i-see-my-widget/'>More info</a>)</noscript>",REGION.WEST);
        _list.add(objGadget);

        objGadget = new Gadget("<script type='text/javascript' src='http://cdn.widgetserver.com/syndication/subscriber/InsertWidget.js'></script><script>if (WIDGETBOX) WIDGETBOX.renderWidget('1ccc3dee-8266-4b84-8191-13a4bf584d0c');</script><noscript>Get the <a href='http://www.widgetbox.com/widget/custom-clock'>Shiny Clock</a> widget and many other <a href='http://www.widgetbox.com/'>great free widgets</a> at <a href='http://www.widgetbox.com'>Widgetbox</a>! Not seeing a widget? (<a href='http://docs.widgetbox.com/using-widgets/installing-widgets/why-cant-i-see-my-widget/'>More info</a>)</noscript>",REGION.EAST);
        _list.add(objGadget);

        

    }

    public String getWestRegionGadgets(){
        HtmlOutputText objHtmlOutputText = new HtmlOutputText();
        String strGadgets = "";
        for(Gadget objGadget:_list ){
            if(objGadget.getGadgetRegion() == REGION.WEST){
                strGadgets += objGadget.getGadgetCode();
            }
        }
        return strGadgets;

    }

    public String getEastRegionGadgets(){

        String strGadgets = "";
        for(Gadget objGadget:_list ){
            if(objGadget.getGadgetRegion() == REGION.EAST){
                strGadgets += objGadget.getGadgetCode();
            }
        }
        return strGadgets;

    }


}
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 29 2010
Added on Feb 28 2010
1 comment
254 views