小编Sne*_*kse的帖子

为什么我得到"下面的组件无法呈现"?

当我将ChildPanel添加到页面时,我收到一条错误,指出:

org.apache.wicket.WicketRuntimeException: 
The component(s) below failed to render.
A common problem is that you have added a component in code 
but forgot to reference it in the markup 
(thus the component will never be rendered).

1. [Form [Component id = myForm]]
2. [DropDownChoice [Component id = referenceType]]
3. [TextField [Component id = referenceNumber]]
4. [CheckBox [Component id = referenceReqChk]]
5. [ [Component id = saveRefNumButton]]
6. [ [Component id = cancelRefNumButton]]

    at org.apache.wicket.Page.checkRendering(Page.java:693)
    at org.apache.wicket.Page.onAfterRender(Page.java:849)
    at org.apache.wicket.markup.html.WebPage.onAfterRender(WebPage.java:213)
    at org.apache.wicket.Component.afterRender(Component.java:950)
    at …
Run Code Online (Sandbox Code Playgroud)

wicket wicket-1.5

4
推荐指数
1
解决办法
7449
查看次数

TransactionRolledbackLocalException访问@Singleton时客户端的事务中止

注意:在花费的时间远远超过我想要找到原因的时间之后,以简短的形式添加这个问题.希望我能拯救别人一些痛苦.

将方法调用委托给带EJB注释的方法时@Singleton,容器会抛出一个Exception:

TransactionRolledbackLocalException Client's transaction aborted 
Run Code Online (Sandbox Code Playgroud)

Singleton bean没有数据访问.

ServiceBeanImpl.java

@Stateless
@Local
public class ServiceBean extends BaseBean{ 
  @EJB private CacheService cacheService;

  public FooObj getFooFromCache(int id) {
    FooObj fooObj = (FooObj) cacheService.get(id);
    if (fooObj == null) {
      fooObj = getEntityById(FooObj.class, id);
      cacheService.put(id, fooObj);  //This throws exception
    }
    return cacheService.get(id);
  }
}
Run Code Online (Sandbox Code Playgroud)

CacheServiceImpl.java

@Singleton
@Startup
public class CacheServiceImpl implements CacheService {
    private Cache cache;

    @PostConstruct
    public void init() {
        CacheManager instance = CacheManager.getInstance();
        cache = instance.getCache("cache");
    }

    @PreDestroy
    public …
Run Code Online (Sandbox Code Playgroud)

java jpa transactions ejb-3.1

4
推荐指数
1
解决办法
8218
查看次数

Wicket中的动态HTML属性

我知道有几种方法可以做到这一点,但我正在寻找最好的方法(我是Wicket的新手).

在下面的HTML代码中,我标记了2个需要替换一些虚拟文本的区域.有问题的文字是{APP_TITLE}{PAGE_TITLE}.我只想用简单的字符串替换它们.

首先<div>,在不丢失DIV内的内容和当前定义div的属性(以及将来添加的属性)的情况下,替换这些值的最佳方法是什么?

<html lang="en">
<head>
    <!-- Replace here -->
    <title>{APP_TITLE} - {PAGE_TITLE}</title> 
</head>
<body>
    <!-- Replace here -->
    <div class="corpAppTemplate" corp:app="{APP_TITLE}" corp:title="{PAGE_TITLE}">
        <ul class="corpAppMenu"  wicket:id="MenuList">
        </ul>
        <span wicket:id="UserID">UserID</span>
               <wicket:child/>
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

wicket

2
推荐指数
1
解决办法
4223
查看次数

设置清单<?扩展Interface1>

尝试做类似的事情:

public interface Order {      
    public List<? extends OrderItem> getItems();  
    public void setItems(List<? extends OrderItem> items);  
}  

public interface OrderItem {  
  // stuff
}  

public class OrderItemImp implements OrderItem {  
  // stuff for class impl
}  

public class OrderImp implements Order {  
    public List<OrderItemImp> getItems() {  
        return items;  
    }  
    public void setItems(List<OrderItemImp> items) {  
        this.items = items;  

    }  
}
Run Code Online (Sandbox Code Playgroud)

编译器抱怨setItems方法.我怎样才能做到这一点?谢谢.

java generics

0
推荐指数
1
解决办法
408
查看次数

标签 统计

java ×2

wicket ×2

ejb-3.1 ×1

generics ×1

jpa ×1

transactions ×1

wicket-1.5 ×1