2016-09-02 1 views
0

J'ai créé une entité userdetails avec deux champs nom et mot de passe. Ensuite, via jsp, j'ai transmis les paramètres pour le nom et le mot de passe. Ensuite, j'ai essayé d'insérer le même dans le code pour insérer des données base de données.Appareil est la suivante qui ne fonctionne pas ..Comment insérer des données dans la base de données dans liferay 6.2?

public void save(ActionRequest request, ActionResponse response) throws SystemException 
{ 
    int id=(int) CounterLocalServiceUtil.increment(); 
    String name=request.getParameter("name"); 
    String password=request.getParameter("password"); 
    System.out.println(name+ " " +password); 
    userdetails ud=userdetailsLocalServiceUtil.createuserdetails(id); 
    ud.setName(name); 
    ud.setPassword(password); 
    try { 
     userdetailsLocalServiceUtil.adduserdetails(ud); 
     //userdetailsPersistence.update(ud,false); 
    } catch (SystemException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

} 

Le code de jsp est la suivante: -

<portlet:actionURL name="save" var="saveURL"></portlet:actionURL> 

<aui:form method="post" action="<%= saveURL.toString() %>"> 
<aui:input name="name" type="text" /> 
<aui:input name="password" type="password" /> 
<aui:button type="submit" value="save" /> 
</aui:form> 

Aide s'il vous plaît ..

+0

Comment cela ne fonctionne-t-il pas? Voyez-vous un message d'erreur? Qu'Est-ce que c'est? –

+0

Non cher, pas de message d'erreur mais les données de la table ne sont pas là ... ça ne marche pas en termes d'insertion dans la base de données.Pour être plus précis .. "userdetailsLocalServiceUtil.adduserdetails (ud);" ne fonctionne pas car il est destiné à insérer des données ... mais pas de message d'erreur du tout ... J'espère avoir clarifié ma question ... merci d'avance .. –

+0

Il y a une erreur sur la ligne 13 de userdetailsLocalServiceUtil. Je peux le voir en utilisant la magie. –

Répondre

0

tout d'abord, suivre la convention de nommage appropriée pour l'entité className dans service.xml (build services), comme:

<entity name="UserDetails" local-service="true" remote-service="false" table="user_detail"> 

Créer une nouvelle méthode (comme ci-dessous) dans votre UserDetailsLocalServiceImpl.java et construire un service nouveau:

public UserDetails createUserDetails(String name, String password){ 

    UserDetails ud = UserDetailsUtil.create(CounterLocalServiceUtil.increment()); 
    ud.setName(name); 
    ud.setPassword(password); 
    UserDetails newUd = UserDetailsUtil.update(ud); 

    return newUd; 
} 

qui copie son entrée pertinente dans UserDetailsLocalServiceUtil.java. Vous utilisez maintenant cette méthode dans votre méthode d'action comme suit:

public void save(ActionRequest request, ActionResponse response) throws SystemException { 

    String name = request.getParameter("name"); 
    String password = request.getParameter("password"); 
    System.out.println(name + " - " + password); 

    try { 
     UserDetails ud = UserDetailsLocalServiceUtil.createUserDetails(name, password); 
     // Do whatever you want after creating new details 
    } 
    catch(Exception ex) { 
     ex.printStackTrace(); 
    } 
}