小编fri*_*fle的帖子

ui中的复合组件:重复:如何正确保存组件状态

我有一个自定义组件,它实现UIInput并需要保存一些状态信息,以便以后在回发请求中重用。独立使用它工作正常,但在<ui:repeat>回发中找到最新呈现的数据行的保存状态。动作调用的日志输出是

INFORMATION: myData is "third foo"
INFORMATION: myData is "third foo"
INFORMATION: myData is "third foo"
INFORMATION: ok action
Run Code Online (Sandbox Code Playgroud)

我期望的地方

INFORMATION: myData is "first foo"
INFORMATION: myData is "second foo"
INFORMATION: myData is "third foo"
INFORMATION: ok action
Run Code Online (Sandbox Code Playgroud)

我知道这myComponentui:repeat. 那么保存组件状态以便为数据集中的每一行正确恢复它的最佳方法是什么?

我的 XHTML 表单:

<h:form>
    <ui:repeat var="s" value="#{myController.data}">
        <my:myComponent data="#{s}"/>
    </ui:repeat>

    <h:commandButton action="#{myController.okAction}" value="ok">
        <f:ajax execute="@form" render="@form"/>
    </h:commandButton>
</h:form>
Run Code Online (Sandbox Code Playgroud)

我的豆:

@Named
@ViewScoped
public class MyController implements Serializable {

    private static final long serialVersionUID …
Run Code Online (Sandbox Code Playgroud)

jsf

5
推荐指数
1
解决办法
364
查看次数

UserTransaction中的Java多个数据库连接

static void clean() throws Exception {
  final UserTransaction tx = InitialContext.doLookup("UserTransaction");
  tx.begin();

  try {
    final DataSource ds = InitialContext.doLookup(Databases.ADMIN);
    Connection connection1 = ds.getConnection();
    Connection connection2 = ds.getConnection();
    PreparedStatement st1 = connection1.prepareStatement("XXX delete records XXX"); // delete data

    PreparedStatement st2 = connection2.prepareStatement("XXX insert records XXX"); // insert new data that is same primary as deleted data above

    st1.executeUpdate();
    st1.close();
    connection1.close();
    st2.executeUpdate();
    st2.close();
    connection2.close();
    tx.commit();
  } finally {
    if (tx.getStatus() == Status.STATUS_ACTIVE) {
      tx.rollback();
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我有一个web应用程序,则DAODataSource为对象创建执行数据库操作的单个连接. …

database database-connection transactions commit java-ee

3
推荐指数
1
解决办法
2563
查看次数