有关spring中bean的@Scope 和richfaces 中表单分页的处理方式
2011-09-19 11:02
441 查看
冲突情景:
在spring的中vew controller bean 如果用@Controller标签进行定义。缺省的Scope是session的。这样用户在界面上输入的内容一直保留。如果使用@Scoper来强制定义成request,那么可以解决这个问题。但是这个时候使用<rich:dataTabel>和<rich:datascroller>进行前台分页。就会无法显示第二个页面。因为这个组件使用了session。
解决问题的思路:
1.仍然保持每个controller的bean 的@Scpoer。例如
view plain
@Controller("detailQuery2Bean")
@Scope("request")
public class DetailQuery2Bean implements Serializable {
}
2.在前台的xhtml文件中强制指定某个具体的bean的@Scope使用session。注意下面代码中的<a4j:keepAlive beanName="detailQueryBean"/> 语句
view plain
<rich:dataTable id="resultTable" value="#{detailQueryBean.result}"
var="row" reRender="ds" rows="20">
<rich:column style="text-align:center" mce_style="text-align:center" sortBy="#{row.sgfssj}">
<f:facet name="header">
<h:outputText value="事故发生时间" />
</f:facet>
<h:outputText value="#{row.sgfssj}" />
</rich:column>
<rich:column style="text-align:center" mce_style="text-align:center" sortBy="#{row.severityNo}">
<f:facet name="header">
<h:outputText value="事故等级" />
</f:facet>
<h:outputText value="#{row.severityNo}" />
</rich:column>
<rich:column style="text-align:left" mce_style="text-align:left">
<f:facet name="header">
<h:outputText value="事故形态" />
</f:facet>
<h:outputText value="#{row.formNo}" />
</rich:column>
<rich:column style="text-align:left" mce_style="text-align:left">
<f:facet name="header">
<h:outputText value="事故原因" />
</f:facet>
<h:outputText value="#{queryHelperBean.mapReasons[row.reasonNo]}" />
</rich:column>
<rich:column style="text-align:left" mce_style="text-align:left" sortBy="#{row.lm}">
<f:facet name="header">
<h:outputText value="LM" />
</f:facet>
<h:outputText value="#{row.lm}" />
</rich:column>
<f:facet name="footer">
<rich:datascroller id="ds"></rich:datascroller>
</f:facet>
</rich:dataTable>
在spring的中vew controller bean 如果用@Controller标签进行定义。缺省的Scope是session的。这样用户在界面上输入的内容一直保留。如果使用@Scoper来强制定义成request,那么可以解决这个问题。但是这个时候使用<rich:dataTabel>和<rich:datascroller>进行前台分页。就会无法显示第二个页面。因为这个组件使用了session。
解决问题的思路:
1.仍然保持每个controller的bean 的@Scpoer。例如
view plain
@Controller("detailQuery2Bean")
@Scope("request")
public class DetailQuery2Bean implements Serializable {
}
2.在前台的xhtml文件中强制指定某个具体的bean的@Scope使用session。注意下面代码中的<a4j:keepAlive beanName="detailQueryBean"/> 语句
view plain
<rich:dataTable id="resultTable" value="#{detailQueryBean.result}"
var="row" reRender="ds" rows="20">
<rich:column style="text-align:center" mce_style="text-align:center" sortBy="#{row.sgfssj}">
<f:facet name="header">
<h:outputText value="事故发生时间" />
</f:facet>
<h:outputText value="#{row.sgfssj}" />
</rich:column>
<rich:column style="text-align:center" mce_style="text-align:center" sortBy="#{row.severityNo}">
<f:facet name="header">
<h:outputText value="事故等级" />
</f:facet>
<h:outputText value="#{row.severityNo}" />
</rich:column>
<rich:column style="text-align:left" mce_style="text-align:left">
<f:facet name="header">
<h:outputText value="事故形态" />
</f:facet>
<h:outputText value="#{row.formNo}" />
</rich:column>
<rich:column style="text-align:left" mce_style="text-align:left">
<f:facet name="header">
<h:outputText value="事故原因" />
</f:facet>
<h:outputText value="#{queryHelperBean.mapReasons[row.reasonNo]}" />
</rich:column>
<rich:column style="text-align:left" mce_style="text-align:left" sortBy="#{row.lm}">
<f:facet name="header">
<h:outputText value="LM" />
</f:facet>
<h:outputText value="#{row.lm}" />
</rich:column>
<f:facet name="footer">
<rich:datascroller id="ds"></rich:datascroller>
</f:facet>
</rich:dataTable>
相关文章推荐
- 有关spring中bean的@Scope 和richfaces 中表单分页的处理方式
- spring利用扫描方式对bean的处理(对任何版本如何获取xml配置信息的处理)
- spring学习教程7-spring容器创建bean对象的方式以及如何处理多个spring配置文件
- spring利用扫描方式对bean的处理(对任何版本如何获取xml配置信息的处理)
- Form表单的二种提交方式(Spring后台controller处理)
- spring 装配bean后执行后台进程任务处理线程的处理方式
- spring boot中的静态资源加载处理方式
- Spring在代码中获取bean的几种方式
- Spring多种加载Bean方式简析
- spring概念简介、bean扫描与注册实现方式
- Spring中Bean的装配方式
- Spring实例化Bean的方式及类型
- Spring获取bean的三种方式
- spring 简介及bean的创建方式
- eclipse安装maven插件,处理无MavenPomeditor打开方式有关问题
- JS Datatables插件server-side方式处理分页的示例代码段
- spring AbstractBeanDefinition创建bean类型是动态代理类的方式
- Spring学习-32:Spring中的事务管理之声明式事务(原始方式,基于TransactionProxyBean)
- Spring的三种实例化Bean的方式
- 用Spring 更好地处理Struts 动作,三种整合Struts应用程序与 Spring 的方式 (转)