Я пытаюсь получить свойства, такие как имя и фамилия из репозитория профилей, отображая его в jsp с использованием капли. Ниже мой пример кода: SampleDroplet.javaПолучение NullPointerException при извлечении свойства из репозитория в ATG
public class SampleDroplet extends DynamoServlet {
private Repository mProfileRepository;
@Override
public void service(DynamoHttpServletRequest pReq, DynamoHttpServletResponse pRes)
throws ServletException, IOException {
String lFirstName = null;
String lLastName = null;
String lProfileId = pReq.getParameter("profileId");
try {
RepositoryItem lItem = getProfileRepository().getItem(lProfileId, "user");
lFirstName = (String) lItem.getPropertyValue("firstName");
lLastName = (String) lItem.getPropertyValue("lastName");
} catch (RepositoryException e) {
e.printStackTrace();
}
pReq.setParameter("firstName", lFirstName);
pReq.setParameter("lastName", lLastName);
pReq.serviceParameter("output", pReq, pRes);
}
SampleDroplet.properties
$class=com.tap.droplet.SampleDroplet
scope=global
profileRepository=/atg/userProfiling/ProfileAdaptarRepository
SampleDroplet.jsp
<dsp:page>
<dsp:importbean bean="/atg/userprofiling/Profile" var="profile" />
<dsp:importbean bean="/com/tap/droplet/SampleDroplet" />
<dsp:getvalueof var="profileId" bean="Profile.id"/>
<dsp:droplet name="SampleDroplet">
<dsp:param name="profileId" value="${profileId}" />
<dsp:oparam name="output">
Profile's First Name : <dsp:valueof param="firstName"/>
Last Name : <dsp:valueof param="lastName"/>
</dsp:oparam>
</dsp:droplet>
</dsp:page>
Я пытался отображения ProfileID в JSP она работает. Но когда я прошел его капелька она показывает NullPointerException
java.lang.NullPointerException
at com.tap.droplet.SampleDroplet.service(SampleDroplet.java:26)
at atg.servlet.DynamoServlet.service(DynamoServlet.java:152)
at atg.taglib.dspjsp.DropletTag.invokeServlet(DropletTag.java:420)
at atg.taglib.dspjsp.DropletTag.doAfterBody(DropletTag.java:705)
at jsp_servlet._test._droplet.__sampledroplet._jsp__tag18(__sampledroplet.java:874)
Truncated. see log file for complete stacktrace
Если кто-нибудь знает, что это вопрос, пожалуйста, помогите мне.
Заранее спасибо
Вопрос находится на линии 26 и, как у нас есть только экстракт кода, который я не могу сказать вам, где это в приведенном выше. При угадывании lProfileId имеет значение null ... – bated
Да, в капельном профилеId идет null. Я попытался отобразить profileId в jsp без капли, он работает, но значение не переходит в капельку –
Можете ли вы подтвердить, что профиль временно? Это можно получить с помощью Profile.isTransient в JSP. – bated