Note that there are some explanatory texts on larger screens.

plurals
  1. POUpdate a table data in maven + seam
    primarykey
    data
    text
    <p>I want to update a record in user table.. My seam+jsf project configured in maven. I tried to make it but failed more.</p> <p>I am here to get some favor from you friends. Hope someone will help me.</p> <p>Thanks in advance..</p> <p>My update page:</p> <pre><code> &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:s="http://jboss.com/products/seam/taglib" xmlns:f="http://java.sun.com/jsf/core" xmlns:clrp="http://panorosys.com/products/clrp/taglib" xmlns:p="http://primefaces.prime.com.tr/ui"&gt; &lt;ui:composition&gt; &lt;div class="panel-content"&gt; &lt;h:form class="input-list" id="createuser"&gt; &lt;h:panelGrid border="1" class="creatUserDetailsTable"&gt; &lt;f:facet name="header"&gt; &lt;h:outputText value="Personal Details" /&gt; &lt;/f:facet&gt; &lt;s:decorate id="firstNameDec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;First Name:&lt;/ui:define&gt; &lt;h:inputText tabindex="1" id="firstName" type="text" value="#{currentUser.firstName}" required="true"&gt; &lt;f:validateLength minimum="3" maximum="20" /&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;s:decorate id="lastNameDec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;Last Name:&lt;/ui:define&gt; &lt;h:inputText tabindex="2" id="lastName" type="text" value="#{currentUser.lastName}" required="true"&gt; &lt;f:validateLength maximum="20" /&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;s:decorate id="emailIdDec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;Email Id:&lt;/ui:define&gt; &lt;h:inputText tabindex="3" id="emailId" type="text" value="#{currentUser.emailAddress}"&gt; &lt;f:validateLength maximum="20" /&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;s:decorate id="homeNumberDec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;Home Number:&lt;/ui:define&gt; &lt;h:inputText tabindex="4" id="homeNumber" type="text" value="#{currentUser.homeNumber}"&gt; &lt;f:validateLength maximum="20" /&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;s:decorate id="cellNumberDec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;Cell Number:&lt;/ui:define&gt; &lt;h:inputText tabindex="5" id="cellNumber" type="text" value="#{currentUser.cellNumber}" required="true"&gt; &lt;f:validateLength maximum="20" /&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;s:decorate id="officeNumberDec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;Office Number:&lt;/ui:define&gt; &lt;h:inputText tabindex="6" id="officeNumber" type="text" value="#{currentUser.officeNumber}"&gt; &lt;f:validateLength maximum="20" /&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;/h:panelGrid&gt; &lt;h:panelGrid border="1" columns="2" class="createUserAddressTable1"&gt; &lt;f:facet name="header"&gt; &lt;h:outputText value="Address" /&gt; &lt;/f:facet&gt; &lt;h:panelGrid border="1" class="createcurrentUserAddressTable"&gt; &lt;f:facet name="header"&gt; &lt;h:outputText value="Residential" /&gt; &lt;/f:facet&gt; &lt;s:decorate id="residentialAddress1Dec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;Address 1:&lt;/ui:define&gt; &lt;h:inputText tabindex="7" id="residentialAddress1" type="text" value="#{currentUser.residentialAddress.address1}" required="true"&gt; &lt;f:validateLength maximum="20" /&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;s:decorate id="residentialAddress2Dec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;Address 2:&lt;/ui:define&gt; &lt;h:inputText tabindex="7" id="residentialAddress2" type="text" value="#{currentUser.residentialAddress.address2}" required="true"&gt; &lt;f:validateLength maximum="20" /&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;s:decorate id="residentialCityDec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;City:&lt;/ui:define&gt; &lt;h:inputText tabindex="9" id="residentialCity" type="text" value="#{currentUser.residentialAddress.city}" required="true"&gt; &lt;f:validateLength maximum="20" /&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;s:decorate id="residentialCountryDec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;Country :&lt;/ui:define&gt; &lt;h:inputText tabindex="10" value="#{currentUser.residentialAddress.countryId}" id="residentialCountry" type="text" class="resi-country-class cntry" required="true"&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;s:decorate id="residentialStateDec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;State :&lt;/ui:define&gt; &lt;h:inputText tabindex="11" value="#{currentUser.residentialAddress.stateId}" id="residentialState" type="text" required="true"&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;s:decorate id="residentialZipcodeDec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;Zip code :&lt;/ui:define&gt; &lt;h:inputText tabindex="12" id="residentialZipcode" type="text" value="#{currentUser.residentialAddress.zipCode}" required="true"&gt; &lt;f:validateLength minimum="0" maximum="6" /&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;/h:panelGrid&gt; &lt;h:panelGrid border="1" class="createUserAddressTable"&gt; &lt;f:facet name="header"&gt; &lt;h:outputText value="Shipping" /&gt; &lt;/f:facet&gt; &lt;s:decorate id="shippingAddress1Dec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;Address 1:&lt;/ui:define&gt; &lt;h:inputText tabindex="14" id="shippingAddress1" type="text" value="#{currentUser.shippingAddress.address1}" required="true"&gt; &lt;f:validateLength maximum="20" /&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;s:decorate id="shippingAddress2Dec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;Address 2:&lt;/ui:define&gt; &lt;h:inputText tabindex="15" id="shippingAddress2" type="text" value="#{currentUser.shippingAddress.address2}" required="true"&gt; &lt;f:validateLength maximum="20" /&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;s:decorate id="shippingCityDec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;City:&lt;/ui:define&gt; &lt;h:inputText tabindex="16" id="shippingCity" type="text" value="#{currentUser.shippingAddress.city}" required="true"&gt; &lt;f:validateLength maximum="20" /&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;s:decorate id="shippingCountryDec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;Country :&lt;/ui:define&gt; &lt;h:inputText tabindex="17" value="#{currentUser.shippingAddress.countryId}" id="shippingCountry" type="text" class="shipp-country-class cntry" required="true"&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;s:decorate id="shippingStateDec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;State :&lt;/ui:define&gt; &lt;h:inputText tabindex="18" value="#{currentUser.shippingAddress.stateId}" id="shippingState" type="text" class="shipp-state-class state" required="true"&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;s:decorate id="shippingZipcodeDec" template="../../../secure/edit.xhtml"&gt; &lt;ui:define name="label"&gt;Zip code :&lt;/ui:define&gt; &lt;h:inputText tabindex="19" id="shippingZipcode" type="text" value="#{currentUser.shippingAddress.zipCode}" required="true"&gt; &lt;f:validateLength minimum="0" maximum="6" /&gt; &lt;/h:inputText&gt; &lt;/s:decorate&gt; &lt;/h:panelGrid&gt; &lt;/h:panelGrid&gt; &lt;h:commandButton value="Update" tabindex="20" action="#{userAction.update}" class="usersubmit"&gt; &lt;f:param name="userId" value="#{currentUser.userId}" /&gt; &lt;/h:commandButton&gt; &lt;/h:form&gt; &lt;h:messages globalOnly="true" /&gt; &lt;s:remote include="currentUserListAction" /&gt; &lt;script type="text/javascript"&gt; $().ready(function() { loadCountries("#{restEasyPath}/lookup/Country/"); $(".shipp-country-class").val(#{currentUserAction.currentUser.shippingAddress.countryId}); $(".resi-country-class").val(#{currentUserAction.currentUser.residentialAddress.countryId}); $('#firstName').focus(); $("#mydropdownlist").val("thevalue"); }); $(".shipp-country-class").change(function(e){ var countryId=$(".shipp-country-class").val(); loadState("#{restEasyPath}/lookup/State/"+countryId+'/',"shipp" ); }); $(".resi-country-class").change(function(e){ var countryId=$(".resi-country-class").val(); loadState("#{restEasyPath}/lookup/State/"+countryId+'/',"resi" ); }); &lt;/script&gt; &lt;/div&gt; &lt;/ui:composition&gt; &lt;/html&gt; </code></pre> <p>Action class:</p> <pre><code> @Name("userAction") @Stateless @AutoCreate public class UserActionImpl implements UserAction { @Out(value = "currentUser", scope = ScopeType.CONVERSATION) @In(value = "currentUser", scope = ScopeType.CONVERSATION, required = false) private CLRPUser currentUser; @In private UserService userService; @RequestParameter private Integer userId; private static final long serialVersionUID = 8282995226262125676L; public String update() { userService.saveOrUpdate(currentUser); return "success"; } public String getCLRP() { return Constants.SUCCESS_STR; } public CLRPUser getCurrentUser() { return currentUser; } public void setCurrentUser(CLRPUser currentUser) { this.currentUser = currentUser; } } </code></pre> <p>Service Class:</p> <pre><code> @Name("userService") @Stateless @AutoCreate public class UserServiceImpl implements UserService { private static final long serialVersionUID = 1L; @In private UserDAO userDAO; @In private LoggedInUser loggedInUser = null; public UserDAO getUserDAO() { return userDAO; } public void setUserDAO(UserDAO userDAO) { this.userDAO = userDAO; } public UserServiceImpl() { super(); } public Integer saveOrUpdate(CLRPUser user) { user.setLastUpdatedBy(loggedInUser.getId()); user.getResidentialAddress().setLastUpdatedBy(loggedInUser.getId()); user.getShippingAddress().setLastUpdatedBy(loggedInUser.getId()); user.getUserLogin().setLastUpdatedBy(loggedInUser.getId()); user.getUserRoles().setLastUpdatedBy(loggedInUser.getId()); // user.getTransaction().setLastUpdatedBy(loggedInUser.getId()); UserEntity userEntity = UserMapper.mapUserEntity(user); Integer userId = userDAO.saveOrUpdate(userEntity); System.out.println("User Id saved " + userId); return userId; } } } </code></pre> <p>Mapper class:</p> <pre><code> public class UserMapper { public static UserEntity mapUserEntity(CLRPUser user) { UserEntity userEntity = new UserEntity(); userEntity.setUserId(user.getUserId()); userEntity.setEmailAddress(user.getEmailAddress()); userEntity.setFirstName(user.getFirstName()); userEntity.setLastName(user.getLastName()); userEntity.setHomeNumber(user.getHomeNumber()); userEntity.setOfficeNumber(user.getOfficeNumber()); userEntity.setCellNumber(user.getCellNumber()); userEntity.setCardId(user.getCardId()); AuditInfo auditInfo = new AuditInfo(); auditInfo.setLastUpdatedBy(user.getLastUpdatedBy()); auditInfo.setLastUpdatedTime(user.getLastUpdatedTime()); userEntity.setAuditInfo(auditInfo); userEntity.setType(user.getType()); userEntity.setPreferenceId(user.getPreferenceId()); userEntity.setASPCustomerId(user.getAspCustomerId()); user.getResidentialAddress().setAddressType("R"); user.getShippingAddress().setAddressType("S"); AddressEntity residential = AddressMapper.mapAddressEntity(user .getResidentialAddress()); AddressEntity shipping = AddressMapper.mapAddressEntity(user .getShippingAddress()); List&lt;AddressEntity&gt; addressess = new ArrayList&lt;AddressEntity&gt;(); addressess.add(residential); addressess.add(shipping); userEntity.setAddresses(new HashSet&lt;AddressEntity&gt;(addressess)); user.getUserLogin().setUserID(user.getUserId()); user.getUserLogin().setUserName(user.getCellNumber()); user.getUserLogin().setPassword(user.getCellNumber()); UserLoginEntity userlogin = UserLoginMapper.mapUserLoginEntity(user .getUserLogin()); List&lt;UserLoginEntity&gt; userlogins = new ArrayList&lt;UserLoginEntity&gt;(); userlogins.add(userlogin); userEntity.setUserlogins(new HashSet&lt;UserLoginEntity&gt;(userlogins)); user.getUserRoles().setUserId(user.getUserId()); user.getUserRoles().setRoleID(1); UserRoleEntity userRoleEntity = UserRoleMapper.mapUserRoleEntity(user.getUserRoles()); List&lt;UserRoleEntity&gt; roles = new ArrayList&lt;UserRoleEntity&gt;(); roles.add(userRoleEntity); userEntity.setRoles(new HashSet&lt;UserRoleEntity&gt;(roles)); return userEntity; } } </code></pre> <p>JPA_DAO class:</p> <pre><code> @Name("userDAO") @Stateless @AutoCreate public class JPAUserDaoImpl implements UserDAO { private static final long serialVersionUID = -6173881454668735683L; @PersistenceContext(unitName = "clrp") private EntityManager entityManager; Logger logger = Logger.getLogger(this.getClass()); public void setEntityManager(EntityManager em) { this.entityManager = em; } public Integer saveOrUpdate(UserEntity newUser) { entityManager.merge(newUser); return newUser.getUserId(); } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload