У меня проблема с моим кодом шва, и я не могу понять, что я делаю неправильно. Это делает мою голову :) Вот отрывок из трассировки стека:Проблема с швом: не удалось установить значение поля путем отражения
Caused by: java.lang.IllegalArgumentException: Can not set java.lang.Long field com.oobjects.sso.manager.home.PresenceHome.customerId to java.lang.String
Я пытаюсь получить набор параметров на мой URL передается в один из моих бобов. Чтобы сделать это, у меня есть следующий набор в моем pages.xml:
<page view-id="/customer/presences.xhtml">
<begin-conversation flush-mode="MANUAL" join="true" />
<param name="customerId" value="#{presenceHome.customerId}" />
<raise-event type="PresenceHome.init" />
<navigation>
<rule if-outcome="persisted">
<end-conversation />
<redirect view-id="/customer/presences.xhtml" />
</rule>
</navigation>
</page>
Мой боб начинается так:
@Name("presenceHome")
@Scope(ScopeType.CONVERSATION)
public class PresenceHome extends EntityHome<Presence> implements Serializable {
@In
private CustomerDao customerDao;
@In(required = false)
private Long presenceId;
@In(required = false)
private Long customerId;
private Customer customer;
// Getters, setters and other methods follow. They return the correct types defined above
}
Наконец ссылку я использую, чтобы связать одну одну страницу в следующий выглядит следующим образом:
<s:link styleClass="#{selected == 'presences' ? 'selected' : ''}"
view="/customer/presences.xhtml" title="Presences" propagation="none">
<f:param name="customerId" value="#{customerId}" />
Presences
</s:link>
Все это, кажется, работает нормально. Когда я наводил ссылку на ссылку выше на моей странице, я получаю URL-адрес, заканчивающийся чем-то вроде «customerId = 123». Таким образом, параметр передается, и это то, что можно легко преобразовать в длинный тип. Но по какой-то причине это не так. Раньше я делал подобные вещи в других проектах, и тогда это сработало. Я просто не могу понять, что он сейчас не работает.
Если я удалю элемент из объявления моей страницы, я доберусь до страницы в порядке.
Итак, есть ли у кого-нибудь мысли?