0
在Tapestry中使用@PageActivationContext而沒有Hibernate是否有一些技巧?我有以下頁面:在沒有休眠的情況下使用@PageActivationContext
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);
}
最後這是我的TopicEncoder:
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.
I'v多次通過文檔,無法弄清楚我做錯了什麼!
試着貢獻'TypeCoercer'來將'Str'轉換爲'Topic'。 – 2014-09-20 13:20:12
我試圖重現你的錯誤,但我不能!這個對我有用。你使用的是什麼版本的Tapestry5?你能發佈Topic的實現嗎?它像Loobook一樣是Main的一個子類。你有沒有嘗試將Topic移動到它自己的java文件中? – 2014-09-22 14:45:15