2014-09-12 29 views
0

我遇到此錯誤: 1-此行的多個標記 - 字符串無法解析爲變量 - 語法令牌「食品」的錯誤,在該行 刪除此行有多個標記 - 字符串不能解析爲變量 - 標記爲「食物」的語法錯誤,刪除

2-多個標誌 - 令牌「詳細」語法錯誤,刪除 此令牌 - 串不能被解析爲一個變量

標誌着我這些行與**在NewPortlet.java

。下面是我的兩個相關文件

NewPortlet.java

package com.test; 

import java.io.IOException; 
import java.util.Date; 

import javax.portlet.ActionRequest; 
import javax.portlet.ActionResponse; 
import javax.portlet.PortletException; 
import javax.portlet.RenderRequest; 
import javax.portlet.RenderResponse; 

import com.liferay.counter.service.CounterLocalServiceUtil; 
import com.liferay.portal.kernel.exception.SystemException; 
import com.liferay.portal.kernel.servlet.SessionMessages; 
import com.liferay.portal.kernel.util.Constants; 
import com.liferay.portal.kernel.util.ParamUtil; 
import com.liferay.portal.model.User; 
import com.liferay.portal.service.UserLocalServiceUtil; 
import com.liferay.util.bridges.mvc.MVCPortlet; 


public class NewPortlet extends MVCPortlet { 

    public static String VIEW_JSP ="/html/new/view.jsp"; 

    @Override 
    public void doView(RenderRequest renderRequest, RenderResponse renderResponse) throws IOException, PortletException { 
    //renderRequest 
    super.doView(renderRequest, renderResponse); 
    } 

    public void processAction(ActionRequest actionRequest, ActionResponse actionResponse) throws IOException, PortletException { 
    String cmd = ParamUtil.getString(actionRequest, Constants.CMD); 
     try { 
      if (cmd.equals(Constants.ADD)){ 

      String food = ParamUtil.getString(actionRequest, "food"); 
      String detail = ParamUtil.getString(actionRequest, "detail"); 

      long userId = CounterLocalServiceUtil.increment(); 
      User user_= UserLocalServiceUtil.createUser(userId); 

     ** user_.setFood(food); 
     ** user_.setDetail(detail); 
      user_.setCreateDate(new Date()); 

      UserLocalServiceUtil.updateUser(user_ , false); 
      SessionMessages.add(actionRequest,"food-added-succesfuly"); 
      } 
     }catch (SystemException e) { 
      //TODO Auto-generated Catch block 
      e.printStackTrace(); 
     } 
     super.processAction(actionRequest, actionResponse); 
    } 
    } 
} 

和我的服務構建

<entity name="Food" local-service="true" remote-service="true"> 

     <!-- PK fields --> 

     <column name="foodId" type="long" primary="true" /> 

     <!-- Group instance --> 

     <column name="food" type="string" /> 
     <column name="detail" type="string" /> 
     <column name="createDate" type="new Date()" /> 
    ... 
+0

那麼哪條線是「這條線」? – Doorknob 2014-09-12 21:27:54

+0

我在NewPortlet.ava中用**標記了它們 – goolian 2014-09-12 21:37:19

回答

2

您嘗試添加食品的實體,但你已經使用的用戶實體代替。 用戶實體沒有任何屬性/列作爲食物或細節。

要添加Food實體,您必須使用以下代碼。

long userId = CounterLocalServiceUtil.increment(Food.class); 
Food foodEntry_=FoodLocalServiceUtil.createFood(userId); 
foodEntry_.setFood(food); 
foodEntry_.setDetail(detail); 
foodEntry_ .setCreateDate(new Date()); 
FoodLocalServiceUtil.updateUser(foodEntry_ , false); 
SessionMessages.add(actionRequest,"food-added-succesfuly"); 
相關問題