我创建了一个实体userdetails,其中包含两个字段名称和密码。然后通过jsp,我传递了名称和密码的参数。然后我尝试将相同的内容插入到数据库中。插入数据的代码如下,但是无效..
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)
首先,在service.xml
(构建服务)中遵循实体className的正确命名约定,如:
<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();
}
}