[jboss-user] [JBoss Seam] - Seam Component Property Error (Weirdness)
nathandennis
do-not-reply at jboss.com
Fri May 25 02:34:50 EDT 2007
Jboss 4.0.5
seam 1.2 patch1
postgres
blah, blah, blah
i recently had what i believe to be a strange occurrence while writing a very simple app.
pay attention to destaddress property of Formmail...
| @Entity
| @Table(name = "formmail")
| @Name("formmail")
| public class Formmail implements Serializable {
|
| /**
| *
| */
| private static final long serialVersionUID = 1L;
| /**
| *
| */
|
| private String form;
| private String destaddress;
|
|
| @Id
| @NotNull
| @Length(max = 10)
| @Column(name="form")
| public String getForm() {
| return this.form;
| }
|
| public void setForm(String form) {
| this.form = form;
| }
|
| @Length(max = 80)
| @Column(name="destaddress")
| public String getDestAddress() {
| return this.destaddress;
| }
|
| public void setDestAddress(String destaddress) {
| this.destaddress = destaddress;
| }
|
| @Override
| public String toString()
| {
| return "Formmail(" + form + "," + destaddress + ")";
| }
| }
|
|
| ****************
|
| import javax.ejb.Local;
| @Local
| public interface FormmailSearch {
|
| public int getPageSize();
| public void setPageSize(int pageSize);
|
| public String getSearchString();
| public void setSearchString(String searchString);
|
| public String getSearchPattern();
|
| public void find();
| public void nextPage();
| public boolean isNextPageAvailable();
|
| public void destroy();
|
| }
|
|
|
|
|
|
|
| *********************
| //
| @Stateful
| @Name("formmailSearch")
| @Scope(ScopeType.SESSION)
| @Restrict("#{identity.loggedIn}")
| public class FormmailSearchAction implements FormmailSearch
| {
|
| @PersistenceContext
| private EntityManager em;
|
|
| private String searchString;
| private int pageSize = 10;
| private int page;
|
| @DataModel
| private List<Formmail> formmails;
|
| public void find()
| {
| page = 0;
| queryFormmails();
| }
| public void nextPage()
| {
| page++;
| queryFormmails();
| }
|
| @SuppressWarnings("unchecked")
| private void queryFormmails()
| {
| formmails = em.createQuery("select f from Formmail f where lower(f.form) like #{pattern}")
| .setMaxResults(pageSize)
| .setFirstResult( page * pageSize )
| .getResultList();
| }
|
|
| public boolean isNextPageAvailable()
| {
| return formmails!=null && formmails.size()==pageSize;
| }
|
| public int getPageSize() {
| return pageSize;
| }
|
| public void setPageSize(int pageSize) {
| this.pageSize = pageSize;
| }
|
| @Factory(value="pattern", scope=ScopeType.EVENT)
| public String getSearchPattern()
| {
| return searchString==null ?
| "%" : '%' + searchString.toLowerCase().replace('*', '%') + '%';
| }
|
| public String getSearchString()
| {
| return searchString;
| }
|
| public void setSearchString(String searchString)
| {
| this.searchString = searchString;
| }
|
| @Destroy @Remove
| public void destroy() {}
|
|
| ****************
| <a:outputPanel id="searchResults">
| <div class="section">
| <h:outputText value="No Entrys Like That Found" rendered="#{formmails != null and formmails.rowCount==0}"/>
|
| <h:dataTable id="formmails" value="#{formmails}" var="mail" rendered="#{formmails.rowCount>0}">
|
| <h:column>
| <f:facet name="header">Form:</f:facet>
| #{mail.form}
| </h:column>
|
| <h:column>
| <f:facet name="header">Destination Address</f:facet>
| #{mail.destaddress}
| </h:column>
|
| <h:column>
| <s:link id="viewFormmail" value="View Record" action="#{formmailPersist.selectFormmail(mail)}"/>
| </h:column>
| </h:dataTable>
|
|
| <s:link value="More results" action="#{formmailSearch.nextPage}" rendered="#{formmailSearch.nextPageAvailable}"/>
| </div>
| </a:outputPanel>
|
| *******************
|
this gave me a error
Exception during request processing: javax.servlet.ServletException: /FormmailList.xhtml: Bean: com.foo.Formmail, property: destaddress
......
after banging my head against the table for a while,, i figured out that Seam had changed the property name from destaddress to destAddress.
WHY??
I went back and change the name of the column in my db,, then alter my code a little... none of the weird junk,,, just with destaddress-->destAddress.
explanation anyone???
what don't i understand??
i mean randomly mapping characters in a variable name string to upper case makes the mapping a little difficult if you catch my drift.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4048575#4048575
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4048575
More information about the jboss-user
mailing list