Sorry... I thought maybe the problem was obvious enough to avoid posting code.
I can't get the jsp file to display the users name if I try and use
"otherMember" but it works fine if I change the bean and outputText tag to
"member".
Here's the bean:
| package org.cnow.site;
|
| import static javax.persistence.PersistenceContextType.EXTENDED;
| import static org.jboss.seam.annotations.Outcome.REDISPLAY;
|
| import java.io.Serializable;
|
| import javax.ejb.Interceptors;
| import javax.ejb.Remove;
| import javax.ejb.Stateful;
| import javax.faces.context.FacesContext;
| import javax.persistence.EntityManager;
| import javax.persistence.PersistenceContext;
| import org.jboss.seam.annotations.Begin;
| import org.jboss.seam.annotations.Conversational;
| import org.jboss.seam.annotations.Destroy;
| import org.jboss.seam.annotations.In;
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.annotations.Out;
| import org.jboss.seam.annotations.RequestParameter;
|
| import org.jboss.seam.ejb.SeamInterceptor;
|
| import org.cnow.object.Member;
|
| @Stateful
| @Name("memberDetail")
| @Interceptors(SeamInterceptor.class)
| @Conversational(ifNotBegunOutcome="main")
| public class MemberDetailAction implements MemberDetail, Serializable
| {
|
| @PersistenceContext(type=EXTENDED)
| private EntityManager em;
|
| @In
| private transient FacesContext facesContext;
|
| @RequestParameter
| int id;
|
| @Out (value="otherMember")
| private Member otherMember;
|
| @Begin(join=true)
| public String getDetails() {
| otherMember = (Member)em.createQuery("from Member where id =
:id")
| .setParameter("id", id)
| .getSingleResult();
|
| return "member_detail";
| }
|
| @Destroy @Remove
| public void destroy() {}
| }
|
And here is the jsp view file:
| <%@ include file="/WEB-INF/inc/initializers.jspf" %>
| <c:set var="pagetitle" scope="request" value="Member Detail"/>
| <%// include file="/WEB-INF/inc/checkLogin.jspf" %>
| <html>
| <head>
| <%@ include file="/WEB-INF/inc/head-main.jspf" %>
| </head>
| <body>
| <f:view>
|
| <div id="content">
|
| <%@ include file="/WEB-INF/inc/header.jspf" %>
|
| <div id="main-container">
|
| <h1>Member Detail</h1>
| <br /><br />
|
| Name: <h:outputText value="#{otherMember.first_name}
#{otherMember.last_name}"/><br>
|
|
|
| </div>
|
| <%@ include file="/WEB-INF/inc/footer.jspf" %>
|
| </div>
|
| </f:view>
| </body>
| </html>
|
And finally, here's the Member object entity bean:
| package org.cnow.object;
|
| import static org.jboss.seam.ScopeType.SESSION;
|
| import java.io.Serializable;
| import java.util.Collection;
| import java.util.Date;
| import javax.persistence.CascadeType;
|
| import javax.persistence.Entity;
| import javax.persistence.FetchType;
| import javax.persistence.GeneratedValue;
| import javax.persistence.Id;
| import javax.persistence.OneToMany;
| import javax.persistence.OneToOne;
| import javax.persistence.Table;
| import org.hibernate.annotations.Where;
| import org.hibernate.validator.Length;
| import org.hibernate.validator.Email;
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.annotations.Scope;
|
| @Entity
| @Name("member")
| @Scope(SESSION)
| @Table(name="members")
| public class Member implements Serializable
| {
| private int id;
| private String first_name;
| private String last_name;
| private String email;
| private String address_1;
| private String address_2;
| private String city;
| private String state;
| private String zip_code;
| private String phone;
| private String password;
| private boolean receive_newsletter;
| private Date birthdate;
| private int referred_by;
| private char gender;
| private Date joined_date;
| private int campaign_id;
|
| private Collection<MemberImage> member_images;
|
| public Member(int id, String first_name, String last_name, String
email, String password) {
| this.id = id;
| this.first_name = first_name;
| this.last_name = last_name;
| this.email = email;
| this.password = password;
| }
|
| public Member() {}
|
| @Id @GeneratedValue
| public int getId() {
| return id;
| }
|
| public void setId(int id) {
| this.id = id;
| }
|
| @Length(min=1, message="Please provide your first name")
| public String getFirst_name() {
| return first_name;
| }
|
| public void setFirst_name(String first_name) {
| this.first_name = first_name;
| }
|
| public String getLast_name() {
| return last_name;
| }
|
| public void setLast_name(String last_name) {
| this.last_name = last_name;
| }
|
| @Email
| public String getEmail() {
| return email;
| }
|
| public void setEmail(String email) {
| this.email = email;
| }
|
| public String getAddress_1() {
| return address_1;
| }
|
| public void setAddress_1(String address_1) {
| this.address_1 = address_1;
| }
|
| public String getAddress_2() {
| return address_2;
| }
|
| public void setAddress_2(String address_2) {
| this.address_2 = address_2;
| }
|
| public String getCity() {
| return city;
| }
|
| public void setCity(String city) {
| this.city = city;
| }
|
| public String getState() {
| return state;
| }
|
| public void setState(String state) {
| this.state = state;
| }
|
| public String getZip_code() {
| return zip_code;
| }
|
| public void setZip_code(String zip_code) {
| this.zip_code = zip_code;
| }
|
| public String getPhone() {
| return phone;
| }
|
| public void setPhone(String phone) {
| this.phone = phone;
| }
|
| // Figure out how to best validate this for use in both login and
register
| @Length(min=4, message="Password must be at least 4 characters.")
| public String getPassword() {
| return password;
| }
|
| public void setPassword(String password) {
| this.password = password;
| }
|
| public boolean isReceive_newsletter() {
| return receive_newsletter;
| }
|
| public void setReceive_newsletter(boolean receive_newsletter) {
| this.receive_newsletter = receive_newsletter;
| }
|
| public Date getBirthdate() {
| return birthdate;
| }
|
| public void setBirthdate(Date birthdate) {
| this.birthdate = birthdate;
| }
|
| public int getReferred_by() {
| return referred_by;
| }
|
| public void setReferred_by(int referred_by) {
| this.referred_by = referred_by;
| }
|
| public char getGender() {
| return gender;
| }
|
| public void setGender(char gender) {
| this.gender = gender;
| }
|
| public Date getJoined_date() {
| return joined_date;
| }
|
| public void setJoined_date(Date joined_date) {
| this.joined_date = joined_date;
| }
|
| public int getCampaign_id() {
| return campaign_id;
| }
|
| public void setCampaign_id(int campaign_id) {
| this.campaign_id = campaign_id;
| }
|
| @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER,
mappedBy="member")
| public Collection<MemberImage> getMember_images() {
| return member_images;
| }
|
| public void setMember_images(Collection<MemberImage> member_images) {
| this.member_images = member_images;
| }
|
| }
|
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3939718#3939718
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3939718
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user