您的位置:程序门 -> java -> web 开发



jsf 页面提交为什么会丢失一部分值


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


jsf 页面提交为什么会丢失一部分值
发表于:2007-09-19 01:41:55 楼主
我做了3个页面其中2个提交的1个显示   personal.jsp   ;experience.jsp   (提交的两个)和   showinfo.jsp(显示的)

通过personal.jsp   转向experience.jsp   然后提交给   showinfo.jsp   显示
为什么   在ie里运行的时候   experience.jsp   页面的值全部丢失   而在jbuilder   运行experience.jsp   里面的   <h:inputtextarea   value= "#{...} "/>   值丢失

麻烦哪位达人解答下,先拜下了
发表于:2007-09-19 07:57:531楼 得分:0
up
发表于:2007-09-19 08:08:282楼 得分:0
检查一下set或get代码,是否出现了多次而紊乱
发表于:2007-09-19 09:15:493楼 得分:0
该回复于2007-12-28 11:34:16被管理员或版主删除
发表于:2007-09-19 09:37:164楼 得分:0
传参数出了问题吧!仔细查一下
发表于:2007-09-20 19:46:305楼 得分:0
找了n次,都没出错,我只能解释为人品问题了
发表于:2007-09-20 19:49:526楼 得分:0
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>


应该没有啥错,不知道是不是环境的问题
发表于:2007-11-07 17:15:417楼 得分:0
自己做个试验     看看get,set方法都什么时候执行的
感觉应该是你在第一个页面还没有执行set方法之前第二个页面就已经执行了get,set方法  
发表于:2007-11-07 22:54:328楼 得分:0
呵呵   原因是你的请求没有指定类型     默认情况下form的请求是get请求,你应该指定成post请求!get请求它是有字符数(255)限制的所以你会丢失一部分的值!   要是还有什么问题你可以加我的qq群:21649672


快速检索

最新资讯
热门点击