我后台的一个方法需要传进去一个参数,请帮忙写下
 <%
                 UserLoginData ulData = (UserLoginData) request.getSession().getAttribute("UserLoginData");
                 String userLevel = ulData.getLUserLevel().toString;//我需要把userLevel传到customerBean的setBar3D方法去     %>
                 
   <div  style="position:absolute;top:12;left:400;">
 <h:commandButton action="#{customerBean.setBar3D}" value="柱状图" styleClass="btn">public class CustomerBean {
     public void setBar3D() throws Exception {
     }
}<managed-bean>
<managed-bean-name>customerBean</managed-bean-name>
<managed-bean-class>com.supermap.is.CustomerBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
帮帮忙这怎么写啊

解决方案 »

  1.   

    <h:commandLink action="#{customerBean.setBar3D}" value="柱状图" styleClass="btn">
       <f:param name="userLevel" value="zhang"></f:param> 
     </h:commandLink> 
     <h:commandLink action="#{customerBean.setThemeGraph}" value="饼状图"  styleClass="btn">
      <f:param name="userLevel" value="zhang"></f:param> 
     </h:commandLink> public void setThemeGraph() throws Exception {
    HttpServletRequest request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
    userLevel = request.getParameter("userLevel");//这样拿userLevel是null
    //userLevel = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get( "username ").toString();//这样拿报错}请指点我下
      

  2.   

    <h:inputHidden value="#{customerBean.userLevel}"/>同时在托管bean中写下对应的setter方法就行了
      

  3.   

    faces-config.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <faces-config>
      <managed-bean>
        <managed-bean-name>userBean</managed-bean-name>
        <managed-bean-class>com.supermap.is.demo.jsf.UserBean</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
      </managed-bean>
      <managed-bean>
    <managed-bean-name>customerBean</managed-bean-name>
    <managed-bean-class>com.supermap.is.CustomerBean</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
      
     
     <component>
    <component-type>UISMap</component-type>
    <component-class>com.supermap.is.GetMapFields</component-class>
      </component>
    </faces-config>map.jsp
    <%
                     UserLoginData ulData = (UserLoginData) request.getSession().getAttribute("UserLoginData");
                     String show = "none";
                     session.setAttribute("userLevel",ulData.getLUserLevel().toString());
                     if("0".equals(ulData.getLUserLevel().toString()))
                      show = "block";
         %>
                     
       <div  style="position:absolute;top:12;left:400;">
        <h:inputHidden value="#{customerBean.userLevel}"></h:inputHidden>
     <h:commandLink action="#{customerBean.setBar3D}" value="柱状图" styleClass="btn">
     </h:commandLink> 
     <h:commandLink action="#{customerBean.setThemeGraph}" value="饼状图"  styleClass="btn">
     </h:commandLink> 
     <h:commandButton action="#{customerBean.returnParent}" value="返回上级"  styleClass="btn"/> 
    public class CustomerBean{
    private String userLevel;


    public String getUserLevel() {
    return userLevel;
    }
    public void setUserLevel(String userLevel) {
    System.out.println("userLevel--->"+userLevel);
    this.userLevel = userLevel;
    }
            public void setThemeGraph() throws Exception {...}
            public void setBar3D() throws Exception {...}
    }
    帮忙看看这是哪的问题,谢谢了。。
      

  4.   

    都jsf了,别用这个了:<%
      UserLoginData ulData = (UserLoginData) request.getSession().getAttribute("UserLoginData");
      String show = "none";
      session.setAttribute("userLevel",ulData.getLUserLevel().toString());
      if("0".equals(ulData.getLUserLevel().toString()))
      show = "block";
      %>
      

  5.   

    用不这个,用什么办法拿到session
      

  6.   

    你这个userLevel是你传的参数,是根据session的serLoginData得到的?如果是,在backbean里,取session,然后根据这个再得到UserLevel就行了,干嘛这么麻烦,..........
      

  7.   


    backbean里得到session的方法:Map sessionMap = FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
    empno = sessionMap.get("userEmpno").toString();
      

  8.   

    如果前台页面需要用session的值,在backbean里定义一个变量,把session的值赋给变量,然后,在前台用变量来做,这样页面是页面,逻辑是逻辑,