<framework:entity-query name="people" ejbql="select p from Person p"/>
<framework:entity-query name="people" ejbql="select p from Person p"/>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
<h1>List of people</h1>
<h:dataTable value="#{people.resultList}" var="person">
<h:column>
<s:link view="/editPerson.jsp"
value="#{person.firstName} #{person.lastName}">
<f:param name="personId" value="#{person.id}"/>
</s:link>
</h:column>
</h:dataTable>
<h1>List of people</h1>
<h:dataTable value="#{people.resultList}" var="person">
<h:column>
<s:link view="/editPerson.jsp"
value="#{person.firstName} #{person.lastName}">
<f:param name="personId" value="#{person.id}"/>
</s:link>
</h:column>
</h:dataTable>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
<framework:entity-query name="people" ejbql="select p from Person p"
order="lastName" max-results="20"/>
<framework:entity-query name="people" ejbql="select p from Person p"
order="lastName" max-results="20"/>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
<pages>
<page view-id="/searchPerson.jsp">
<param name="firstResult" value="#{people.firstResult}"/>
</page>
</pages>
<pages>
<page view-id="/searchPerson.jsp">
<param name="firstResult" value="#{people.firstResult}"/>
</page>
</pages>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
<h1>Search for people</h1>
<h:dataTable value="#{people.resultList}" var="person">
<h:column>
<s:link view="/editPerson.jsp"
value="#{person.firstName} #{person.lastName}">
<f:param name="personId" value="#{person.id}"/>
</s:link>
</h:column>
</h:dataTable>
<s:link view="/search.xhtml" rendered="#{people.previousExists}"
value="First Page">
<f:param name="firstResult" value="0"/>
</s:link>
<s:link view="/search.xhtml" rendered="#{people.previousExists}"
value="Previous Page">
<f:param name="firstResult" value="#{people.previousFirstResult}"/>
</s:link>
<s:link view="/search.xhtml" rendered="#{people.nextExists}"
value="Next Page">
<f:param name="firstResult" value="#{people.nextFirstResult}"/>
</s:link>
<s:link view="/search.xhtml" rendered="#{people.nextExists}"
value="Last Page">
<f:param name="firstResult" value="#{people.lastFirstResult}"/>
</s:link>
<h1>Search for people</h1>
<h:dataTable value="#{people.resultList}" var="person">
<h:column>
<s:link view="/editPerson.jsp"
value="#{person.firstName} #{person.lastName}">
<f:param name="personId" value="#{person.id}"/>
</s:link>
</h:column>
</h:dataTable>
<s:link view="/search.xhtml" rendered="#{people.previousExists}"
value="First Page">
<f:param name="firstResult" value="0"/>
</s:link>
<s:link view="/search.xhtml" rendered="#{people.previousExists}"
value="Previous Page">
<f:param name="firstResult" value="#{people.previousFirstResult}"/>
</s:link>
<s:link view="/search.xhtml" rendered="#{people.nextExists}"
value="Next Page">
<f:param name="firstResult" value="#{people.nextFirstResult}"/>
</s:link>
<s:link view="/search.xhtml" rendered="#{people.nextExists}"
value="Last Page">
<f:param name="firstResult" value="#{people.lastFirstResult}"/>
</s:link>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
実際の検索画面ではユーザーはオプションで検索基準を入力でき、検索結果を絞りこむことができます。Query オブジェクトを使うとこのユースケースに対応するオプションの制約を指定できます。
<component name="examplePerson" class="Person"/>
<framework:entity-query name="people" ejbql="select p from Person p"
order="lastName" max-results="20">
<framework:restrictions>
<value>
lower(firstName) like lower(concat(#{examplePerson.firstName},'%&'))
</value>
<value>
lower(lastName) like lower(concat(#{examplePerson.lastName},'%&'))
</value>
</framework:restrictions>
</framework:entity-query>
<component name="examplePerson" class="Person"/>
<framework:entity-query name="people" ejbql="select p from Person p"
order="lastName" max-results="20">
<framework:restrictions>
<value>
lower(firstName) like lower(concat(#{examplePerson.firstName},'%&'))
</value>
<value>
lower(lastName) like lower(concat(#{examplePerson.lastName},'%&'))
</value>
</framework:restrictions>
</framework:entity-query>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
<h1>Search for people</h1>
<h:form>
<div>
First name: <h:inputText value="#{examplePerson.firstName}"/>
</div>
<div>
Last name: <h:inputText value="#{examplePerson.lastName}"/>
</div>
<div>
<h:commandButton value="Search" action="/search.jsp"/>
</div>
</h:form>
<h:dataTable value="#{people.resultList}" var="person">
<h:column>
<s:link view="/editPerson.jsp"
value="#{person.firstName} #{person.lastName}">
<f:param name="personId" value="#{person.id}"/>
</s:link>
</h:column>
</h:dataTable>
<h1>Search for people</h1>
<h:form>
<div>
First name: <h:inputText value="#{examplePerson.firstName}"/>
</div>
<div>
Last name: <h:inputText value="#{examplePerson.lastName}"/>
</div>
<div>
<h:commandButton value="Search" action="/search.jsp"/>
</div>
</h:form>
<h:dataTable value="#{people.resultList}" var="person">
<h:column>
<s:link view="/editPerson.jsp"
value="#{person.firstName} #{person.lastName}">
<f:param name="personId" value="#{person.id}"/>
</s:link>
</h:column>
</h:dataTable>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
<event type="org.jboss.seam.afterTransactionSuccess">
<action execute="#{people.refresh}" />
</event>
<event type="org.jboss.seam.afterTransactionSuccess">
<action execute="#{people.refresh}" />
</event>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
<event type="org.jboss.seam.afterTransactionSuccess.Person">
<action execute="#{people.refresh}" />
</event>
<event type="org.jboss.seam.afterTransactionSuccess.Person">
<action execute="#{people.refresh}" />
</event>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow