我做了3个页面其中2个提交的1个显示 personal.jsp ;experience.jsp (提交的两个)和 showInfo.jsp(显示的)通过personal.jsp 转向experience.jsp 然后提交给 showInfo.jsp 显示
为什么 在IE里运行的时候 experience.jsp 页面的值全部丢失 而在Jbuilder 运行experience.jsp 里面的 <h:inputTextarea value="#{...}"/> 值丢失麻烦哪位达人解答下,先拜下了

解决方案 »

  1.   

    检查一下set或get代码,是否出现了多次而紊乱
      

  2.   

    personal.jsp <f:view>
     ……
    ……
        <h:panelGrid columns="3">
          <h:outputLabel value="#{messageOther.name}"/>
          <h:inputText value="#{application.name}"/>
          <h:message for="fname" errorClass="color:red"/>
          <h:outputLabel value="#{messageOther.birthYear}"/>
          <h:inputText value="#{application.birthYear}"/>
          <h:message for="birthYear" errorClass="color:red"/>
          <h:outputLabel value="#{messageOther.gender}"/>
          <h:selectOneRadio value="#{application.gender}">
            <f:selectItem itemLabel="male" itemValue="男"/>
            <f:selectItem itemLabel="famale" itemValue="女"/>
          </h:selectOneRadio>
          <h:message for="gender" errorClass="color:red"/>
          <h:outputLabel value="#{messageOther.address}"/>
          <h:inputTextarea value="#{application.address}"/>
          <h:message for="address" errorClass="color:red"/>
          <h:outputLabel value="#{messageOther.contactnum}"/>
          <h:inputText value="#{application.contactnum}"/>
          <h:message for="contactnum" errorClass="color:red"/>
          <h:outputLabel value="#{messageOther.emailid}"/>
          <h:inputText value="#{application.emailid}"/>
          <h:message for="emailid" errorClass="color:red"/>
          <h:commandButton action="experience" value="#{messageOther.buttonLabek}"/>
        </h:panelGrid>
      ……
    ……
    </f:view>
    ;experience.jsp 
    <f:view>
    <h:outputLabel value="#{message.experienceDetails}"/>
      <h:panelGrid columns="3">  <h:outputLabel value="#{message.employer}"/>
        <h:inputText value="#{application.employer}"/>
         <h:message for="employer" errorClass="color:red"/>     <h:outputLabel value="#{message.jobtitle}"/>
        <h:selectOneRadio value="#{application.jobtitle}">
          <f:selectItems value="#{application.jobTitles}"/>
        </h:selectOneRadio>
        <h:message for="jobtitle" errorClass="color:red"/>    <h:outputLabel value="#{message.jobdesc}"/>
        <h:inputTextarea value="#{application.jobdesc}"/>
        <h:message for="jobdesc" errorClass="color:red"/>    <h:outputLabel value="#{message.fromdate}"/>
        <h:inputText value="#{application.fromdate}"/>
        <h:message for="fromdate" errorClass="color:red"/>    <h:outputLabel value="#{message.todate}"/>
        <h:inputText value="#{application.todate}"/>
        <h:message for="todate" errorClass="color:red"/>    <h:form>
          <h:commandButton action="showInfo" value="#{message.resetButton}"/>
        </h:form>
      </h:panelGrid>
    </f:view>
     showInfo.jsp
    <f:view>
      <h:form>
        <h:panelGrid columns="2">
          <h:outputLabel value="#{message.name}"/>
          <h:outputText value="#{application.name}"/>
          <h:outputLabel value="#{message.birthYear}"/>
          <h:outputText value="#{application.birthYear}"/>
          <h:outputLabel value="#{message.gender}"/>
          <h:outputText value="#{application.gender}"/>
          <h:outputLabel value="#{message.address}"/>
          <h:outputText value="#{application.address}"/>
          <h:outputLabel value="#{message.contactnum}"/>
          <h:outputText value="#{application.contactnum}"/>
          <h:outputLabel value="#{message.emailid}"/>
          <h:outputText value="#{application.emailid}"/>
        </h:panelGrid>
        <h:panelGrid columns="2">
          <h:outputLabel value="#{message.employer}"/>
          <h:outputText value="#{application.employer}"/>
          <h:outputLabel value="#{message.jobtitle}"/>
          <h:outputText value="#{application.jobtitle}"/>
          <h:outputLabel value="#{message.jobdesc}"/>
          <h:outputText value="#{application.jobdesc}"/>
          <h:outputLabel value="#{message.fromdate}"/>
          <h:outputText value="#{application.fromdate}"/>
          <h:outputLabel value="#{message.todate}"/>
          <h:outputText value="#{application.todate}"/>
        </h:panelGrid>
      </h:form>
    </f:view>配置文件
    <faces-config >
    <managed-bean>
    <managed-bean-name>application</managed-bean-name>
    <managed-bean-class>onlineapplication.Application</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    <navigation-rule>
    <from-view-id>/personal.jsp</from-view-id>
    <navigation-case>
    <from-outcome>experience</from-outcome>
    <to-view-id>/experience.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    <navigation-rule>
    <from-view-id>/experience.jsp</from-view-id>
    <navigation-case>
    <from-outcome>showInfo</from-outcome>
    <to-view-id>/showInfo.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    </faces-config>
    应该没有啥错,不知道是不是环境的问题
      

  3.   

    自己做个试验  看看get,set方法都什么时候执行的
    感觉应该是你在第一个页面还没有执行set方法之前第二个页面就已经执行了get,set方法 
      

  4.   

    呵呵 原因是你的请求没有指定类型  默认情况下form的请求是get请求,你应该指定成post请求!get请求它是有字符数(255)限制的所以你会丢失一部分的值! 要是还有什么问题你可以加我的QQ群:21649672