如何将两个List PropertyModel组合到Wicket中的一个模型

时间:2016-01-15 12:40:26

标签: java wicket

假设我有一个名为E的实体。

它的结构有两个字段:

E {
   List<A> a1;
   List<A> a2;
}

目前我有两个PropertyModels这样:

PropertyModel<A> a1Model = new PropertyModel(e, "a1");
PropertyModel<A> a2Model = new PropertyModel(e, "a2");

我有一个转发器,我只想给它一个listModel。

我目前实现这一目标的方法是这样做:

List<A> aItems = new ArrayList<A>();
aItems.addAll(a1Model.getObject());
aItems.addAll(a2Model.getObject());
PropertyModel<A> aModel = new PropertyModel<A>(this, "aItems");

我现在错过了与数据库的连接,因为e实际上是在LoadableDetachableModel内提供的。当e在该模型内部发生更改时,该值不会自动流向该字段。

我不确定它现在也能做到,但不知何故干扰模特的戏剧只会闻到我的鼻子。现在我只在字段中列出了a1,现在我正在添加a2。

如何为该领域实现一个模型(它实际上是另一个面板)?

1 个答案:

答案 0 :(得分:3)

您可以创建一个模型,将两个模型组合到<%@Language="VBScript" CodePage = 65001 %> <% 'Assuming this is the whole script the above line MUST always 'be the very first line in the source file. 'Tell ASP strings should be returned UTF-8 encoded. Response.CodePage = 65001 'Tell the Browser to expect UTF-8 encoded data. Response.Charset = "UTF-8" Dim arrSqlLines() i = 0 set t = fso.OpenTextFile(filePath, 1, false) Do Until t.AtEndOfStream Redim Preserve arrSqlLines(i) arrSqlLines(i) = t.ReadLine i = i + 1 Loop t.close For Each sqlLine in arrSqlLines sqlLine = Trim(sqlLine) sqlBatch = Trim(sqlBatch & sqlLine) & vbCrLf Call dbexecConnection(sqlBatch, objDbConnection) Next Function dbexecConnection(sql, objConnExec) dim cmdTemp on Error Resume Next set cmdTemp=Server.CreateObject("ADODB.Command") set cmdTemp.ActiveConnection=objConnExec cmdTemp.CommandText = sql cmdTemp.Execute if err.number<>0 Then if Session("SkipError") <> -1 Then response.write "Error in dbexecute: " & sql & "<br/>" response.write "Error=(" & err.description & ")" response.End end If end If on error goto 0 End Function %>

List<E>