2016-09-02 21 views
0

我创建了一个具有两个字段名称和密码的实体userdetails。然后通过jsp传递名称和密码的参数。然后我试图在同一插入database.The代码中插入数据如下,其不工作..如何在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(); 
    } 

} 

JSP的代码如下: -

<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> 

请帮助..

+0

它是如何工作的?你看到错误信息吗?它是什么? –

+0

没有亲爱的,没有错误消息,但表中的数据是不存在的..它没有在插入数据库方面工作。要更具体说明..“userdetailsLocalServiceUtil.adduserdetails(ud);”是不工作的,因为它旨在插入数据...但没有错误信息...希望我已澄清我的问题..提前一分钟.. –

+0

userdetailsLocalServiceUtil行13上有一个错误。我可以用魔法看到它。 –

回答

0

首先,遵循实体的className适当的命名约定service.xml(打造服务),如:

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

UserDetailsLocalServiceImpl.java创建一个新的方法(如下),并再次打造服务:

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; 
} 

这将复制UserDetailsLocalServiceUtil.java其相关条目。现在你在你的动作方法中使用该方法,如下所示:

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(); 
    } 
}