我开始使用Liferay,并设法使用Liferay视图中的一个动作,然后使用控制器,并获得回报。
现在,我试图向控制器发送一个值,处理它,并从控制器发送一个响应(对于这个例子,发回相同的值就可以了。)
int num = Integer.valueOf(ParamUtil.get(actionRequest, "num", StringPool.BLANK));
System.out.println("numero: "+num);
actionRequest.setAttribute("num", num);
在刷新窗口时在视图中接收它,并且能够在我的代码中使用该值。
int num = (int)request.getAttribute("num");
好吧,当我尝试使用它时,我的portlet没有加载,并且出现了这个错误:
09:30:46,571 ERROR [http-bio-8080-exec-78][render_portlet_jsp:132] null
org.apache.jasper.JasperException: No se puede compilar la clase para JSP:
Ha tenido lugar un error en la línea: 49 en el archivo jsp: /view.jsp
Cannot cast from Object to int
46: <%
47:
48: try{
49: int num = (int)request.getAttribute("num");
50:
51: for(int i=0;i<num;i++){ %>
52: <p><%=i %></p>
Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:485)
(and like 100 more lines of errors).
我在这里做错了什么?
编辑:
好的,我试图将所有内容都转换为(Integer)而不是(int)。但是现在我得到了大量的(不夸张)错误行,其中很多都带有NullPointerException。
第一个错误行:
GRAVE: El Servlet.service() para servlet jsp lanzó una excepción
java.lang.NullPointerException
at org.apache.jsp.view_jsp._jspService(view_jsp.java:215)