Java 在不使用Hibernate的情况下使用@PageActivationContext
在Tapestry中使用@PageActivationContext而不使用Hibernate有什么诀窍吗?我有以下页面:Java 在不使用Hibernate的情况下使用@PageActivationContext,java,tapestry,Java,Tapestry,在Tapestry中使用@PageActivationContext而不使用Hibernate有什么诀窍吗?我有以下页面: public class DisplayTopic { @PageActivationContext private Topic topic; } 在我的AppModule类中: @Contribute(ValueEncoderSource.class) public static void contributeValueEncoderSource(Map
public class DisplayTopic {
@PageActivationContext
private Topic topic;
}
在我的AppModule类中:
@Contribute(ValueEncoderSource.class)
public static void contributeValueEncoderSource(MappedConfiguration<Class<Topic>, ValueEncoderFactory<Topic>> configuration) {
configuration.addInstance(Topic.class, TopicEncoder.class);
}
我已经查阅了好几次文档,但都不知道我做错了什么 你所做的看起来应该对我有用。我完全猜到了。。。但是您使用的是tapestry cometd还是tapestry atmosphere 这一问题对双方都有影响
该问题已在最新tapestry Comet中修复,但尚未在tapestry atmosphere中修复。尝试向
TypeConverter
贡献,将Str
转换为Topic
。我试图重现您的错误,但无法重现!它对我有用。您使用的是什么版本的Tapestry5?你能发布主题的实现吗?看起来Topic是Main的一个子类。您是否尝试过将主题移动到它自己的java文件中?
public class TopicEncoder implements ValueEncoder<Topic>, ValueEncoderFactory<Topic> {
@Override
public String toClient(Topic value) {
return value.getId();
}
@Override
public Topic toValue(String clientValue) {
return Start.data.getLocator().getTopicById(clientValue);
}
@Override
public ValueEncoder<Topic> create(Class<Topic> type) {
return this;
}
}
Exception in method null, parameter #1: org.apache.tapestry5.ioc.util.UnknownValueException: Could not find a coercion from type java.lang.String to type Main.Topic.