私はLecturerというマネージドBeanを持っています。講師マネージドBeanには、部門間の関係が含まれます。私はデータベースに格納されているすべての部門を表示したい。私が講師を登録するとき、私はその部署を取得する必要があります。selectOneMenu(プライムフェイス)を追加するとJSFページが機能しません
My Lecturer managed bean。私は適切なセッターメソッドとゲッターメソッドを持っています。私は説明を省略するだけです。
public class Lecturer
{
private String name;
private String surname;
private String email;
private String username;
private String password;
private List<Department> departments;
private LecturerService lecturerService;
private DepartmentService departmentService;
}
私Licturer.xhtmlファイル:
<managed-bean>
<managed-bean-name>Lecturer</managed-bean-name>
<managed-bean-class>com.studinfo.controller.Lecturer</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>departmentService</property-name>
<property-class>com.studinfo.services.DepartmentService</property-class>
<value>#{DepartmentService}</value>
</managed-property>
<managed-property>
<property-name>lecturerService</property-name>
<property-class>com.studinfo.services.LecturerService</property-class>
<value>#{LecturerService}</value>
</managed-property>
</managed-bean>
私はselectOneMenuタグを削除
<h:form>
<f:view>
<p:panelGrid columns="2">
<f:facet name="header">Lecturer Registration Form</f:facet>
<h:outputLabel for="name" value="Name :" />
<p:inputText id="name" value="#{Lecturer.name}" label="Name" required="true" />
<h:outputLabel for="surname" value="Surname :" />
<p:inputText id="surname" value="#{Lecturer.surname}" label="Surname" required="true" />
<h:outputLabel for="department" value="Department :" />
<p:selectOneMenu value="#{Lecturer.departments}" effect="fade" editable="true" var="p" >
<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItems value="#{Lecturer.departments}" var="lec"
itemLabel="#{lec.name}" itemValue="#{lec.name}"/>
</p:selectOneMenu>
<h:outputLabel for="email" value="Email :" />
<p:inputText id="email" value="#{Lecturer.email}" label="Email" required="true" />
<h:outputLabel for="username" value="User Name :" />
<p:inputText id="username" value="#{Lecturer.username}" label="Email" required="true" />
<h:outputLabel for="password" value="Password :" />
<p:inputText id="password" value="#{Lecturer.password}" label="Password" required="true" />
<f:facet name="footer">
<p:commandButton type="submit"
id="lecturer"
action="#{Lecturer.registerLecturer}"
value="Register" icon="ui-icon-disk">
</p:commandButton>
</f:facet>
</p:panelGrid>
</f:view>
</h:form>
私の顔-config.xmlに。私のページは正常に動作します。
解決策についてのご意見はありますか?
文字列とDepartmentクラスの間にコンバーターを追加する必要がありますか?
@erencan:http://www.primefaces.org/showcase/ui/selectOneMenu.jsfを見てください。(2番目の例では 'city'と' cities'を参照してください) – MartinK
@MartinKはい私は見ましたそれで。私の問題はコンバータがないと思う。私はDepartmentクラスとStringの間にコンバーターを追加しようとします。 – erencan
私はまた、データベースに格納されているすべての部署を表示したい。ユーザは新しい講師登録のためにそれらの1つを選択することができる。したがって、私はページ上の部門のリストを使用する必要があります。 – erencan