Java 为什么不是';t列表视图重复列表<;字符串>;在边门?
当我调试列表时,间接列表没有实例化。但我觉得在JPA里很懒。它不在Listview中呈现,但应该有节点。我错过什么了吗Java 为什么不是';t列表视图重复列表<;字符串>;在边门?,java,wicket,Java,Wicket,当我调试列表时,间接列表没有实例化。但我觉得在JPA里很懒。它不在Listview中呈现,但应该有节点。我错过什么了吗 //.....code...... private ListView<String> reqs; // Requirements private Label lblreqs; //Label for repeat requirements //...code... final LigaBaseball lbb = LigaBBServ.buscarPorI
//.....code......
private ListView<String> reqs; // Requirements
private Label lblreqs; //Label for repeat requirements
//...code...
final LigaBaseball lbb = LigaBBServ.buscarPorID(Integer
.parseInt(idLiga)); //Get Baseball league from database
if (lbb == null || pageParameters == null
|| pageParameters.get("idLiga") == null)
throw new RestartResponseException(VerLigas.class); //If null redirect.
//...code...
add(reqs = new ListView<String>("reqs", new ListModel<String>(lbb.getRequisitos()))//LAZYly get List from LigaBaseball(BaseballLeague) {
@Override
protected void populateItem(ListItem<String> item) {
/*When I debug item is null
*/
item.add(lblreqs = new Label("lblreqs", (item.getModelObject())));
}
});
//...code...
/../code。。。。。。
私有ListView需求;//要求
自有品牌LBLREQ//重复要求标签
//…代码。。。
最终lbb=LigaBBServ.buscarPorID(整数
.parseInt(idLiga))//从数据库中获取棒球联赛
如果(lbb==null | | pageParameters==null
||pageParameters.get(“idLiga”)==null)
抛出新的RestartResponseException(VerLigas.class)//如果为空,则重定向。
//…代码。。。
添加(reqs=new ListView(“reqs”,new ListModel(lbb.getRequisitos())//LAZYly从棒球联盟(BaseballLeague)获取列表){
@凌驾
受保护的void populateItem(列表项){
/*当我调试项为空时
*/
add(lblreqs=新标签(“lblreqs”,(item.getModelObject()));
}
});
//…代码。。。
嗯。。。根据您发布的代码创建的这个(相当简单的)单元测试,确实如此,但可能我没有抓住要点
package net.unbewaff;
public class DemoTestCase {
private WicketTester tester = new WicketTester();
private Panel panel = new MyPanel("panel");
@Test
public void testIt() {
tester.startComponentInPage(panel);
tester.assertComponent("panel", Panel.class);
tester.assertComponent("panel:reqs", ListView.class);
tester.assertComponent("panel:reqs:0", ListItem.class);
tester.assertLabel("panel:reqs:0:lblreqs", "1");
tester.assertComponent("panel:reqs:1", ListItem.class);
tester.assertLabel("panel:reqs:1:lblreqs", "2");
tester.assertComponent("panel:reqs:2", ListItem.class);
tester.assertLabel("panel:reqs:2:lblreqs", "3");
tester.assertComponent("panel:reqs:3", ListItem.class);
tester.assertLabel("panel:reqs:3:lblreqs", "4");
}
private final class MyPanel extends Panel {
private MyPanel(String id) {
super(id);
}
public void onInitialize() {
ListView<String> reqs;
final LigaBaseball lbb = new LigaBaseball();
reqs = new ListView<String>("reqs", new ListModel<String>(lbb.getRequisitos())) {
protected void populateItem(ListItem<String> item) {
item.add(new Label("lblreqs", (item.getModelObject())));
}
};
add(reqs);
super.onInitialize();
}
}
class LigaBaseball {
public List<String> getRequisitos() {
String[] a = { "1", "2", "3", "4" };
return Arrays.asList(a);
}
}
}
package net.unbewaff;
公共类降级案例{
专用WicketTester测试器=新WicketTester();
私人面板=新MyPanel(“面板”);
@试验
公开无效测试(){
测试仪启动组件页面(面板);
tester.assertComponent(“panel”,panel.class);
tester.assertComponent(“面板:需求”,ListView.class);
tester.assertComponent(“面板:需求:0”,ListItem.class);
测试仪资产标签(“面板:需求:0:lblreqs”,“1”);
tester.assertComponent(“面板:需求:1”,ListItem.class);
测试仪资产标签(“面板:需求:1:lblreqs”、“2”);
tester.assertComponent(“面板:需求:2”,ListItem.class);
测试仪资产标签(“面板:需求:2:lblreqs”、“3”);
tester.assertComponent(“面板:需求:3”,ListItem.class);
测试仪资产标签(“面板:需求:3:lblreqs”、“4”);
}
私有最终类MyPanel扩展了Panel{
私有MyPanel(字符串id){
超级(id);
}
公共无效初始化(){
列表视图需求;
最终连胜棒球lbb=新连胜棒球();
reqs=新列表视图(“reqs”,新列表模型(lbb.getRequisitos()){
受保护的void populateItem(列表项){
添加(新标签(“lblreqs”),(item.getModelObject());
}
};
增加(需求);
super.onInitialize();
}
}
职业棒球{
公共列表getRequisitos(){
字符串[]a={“1”、“2”、“3”、“4”};
返回数组。asList(a);
}
}
}
测试集:net.unbewaff.DemoTestCase 测试运行:1,失败:0,错误:0,跳过:0,运行时间:0.032秒。。。根据您发布的代码创建的这个(相当简单的)单元测试,确实如此,但可能我没有抓住要点
package net.unbewaff;
public class DemoTestCase {
private WicketTester tester = new WicketTester();
private Panel panel = new MyPanel("panel");
@Test
public void testIt() {
tester.startComponentInPage(panel);
tester.assertComponent("panel", Panel.class);
tester.assertComponent("panel:reqs", ListView.class);
tester.assertComponent("panel:reqs:0", ListItem.class);
tester.assertLabel("panel:reqs:0:lblreqs", "1");
tester.assertComponent("panel:reqs:1", ListItem.class);
tester.assertLabel("panel:reqs:1:lblreqs", "2");
tester.assertComponent("panel:reqs:2", ListItem.class);
tester.assertLabel("panel:reqs:2:lblreqs", "3");
tester.assertComponent("panel:reqs:3", ListItem.class);
tester.assertLabel("panel:reqs:3:lblreqs", "4");
}
private final class MyPanel extends Panel {
private MyPanel(String id) {
super(id);
}
public void onInitialize() {
ListView<String> reqs;
final LigaBaseball lbb = new LigaBaseball();
reqs = new ListView<String>("reqs", new ListModel<String>(lbb.getRequisitos())) {
protected void populateItem(ListItem<String> item) {
item.add(new Label("lblreqs", (item.getModelObject())));
}
};
add(reqs);
super.onInitialize();
}
}
class LigaBaseball {
public List<String> getRequisitos() {
String[] a = { "1", "2", "3", "4" };
return Arrays.asList(a);
}
}
}
package net.unbewaff;
公共类降级案例{
专用WicketTester测试器=新WicketTester();
私人面板=新MyPanel(“面板”);
@试验
公开无效测试(){
测试仪启动组件页面(面板);
tester.assertComponent(“panel”,panel.class);
tester.assertComponent(“面板:需求”,ListView.class);
tester.assertComponent(“面板:需求:0”,ListItem.class);
测试仪资产标签(“面板:需求:0:lblreqs”,“1”);
tester.assertComponent(“面板:需求:1”,ListItem.class);
测试仪资产标签(“面板:需求:1:lblreqs”、“2”);
tester.assertComponent(“面板:需求:2”,ListItem.class);
测试仪资产标签(“面板:需求:2:lblreqs”、“3”);
tester.assertComponent(“面板:需求:3”,ListItem.class);
测试仪资产标签(“面板:需求:3:lblreqs”、“4”);
}
私有最终类MyPanel扩展了Panel{
私有MyPanel(字符串id){
超级(id);
}
公共无效初始化(){
列表视图需求;
最终连胜棒球lbb=新连胜棒球();
reqs=新列表视图(“reqs”,新列表模型(lbb.getRequisitos()){
受保护的void populateItem(列表项){
添加(新标签(“lblreqs”),(item.getModelObject());
}
};
增加(需求);
super.onInitialize();
}
}
职业棒球{
公共列表getRequisitos(){
字符串[]a={“1”、“2”、“3”、“4”};
返回数组。asList(a);
}
}
}
测试集:net.unbewaff.DemoTestCase
测试运行:1,失败:0,错误:0,跳过:0,经过的时间:0.032秒您可以删除不重要的部分吗?您是指导入吗?将代码剥离为仅包含与您的问题直接相关的行。此外,请尝试仅用英语编写代码,很难将代码置于上下文中,因为我们不理解您的代码对语言的意义。现在已编辑。我将检查lbb.getRequisitos()得到了什么。如果不知道更多信息,我们无法帮助您。您能删除不重要的部分吗?您是指导入吗?请将代码剥离为仅包含与您的问题直接相关的行。此外,请尝试仅用英语编写代码,很难将代码置于上下文中,因为我们不理解您的代码对语言的意义。现在已编辑。我将检查lbb.getRequisitos()得到了什么。如果不知道更多信息,我们将无法帮助您。将此作为答案发布,因为它太渴望评论。我有2个错误,编辑页面将列表设置为另一个实体,因为代码错误。其次,标记隐藏了结果。我用了div,在其他元素后面用z索引,我用了一个表,现在没问题了。我把它作为一个答案发布,因为它太长了,需要一个注释。我有两个错误,编辑页面将列表设置为另一个实体,因为代码错误。第二,第