Foren

HELP ME PLEASE!! Trying to make a Simple Struts Portlet to work for 2 years

Anderson A M Luna, geändert vor 17 Jahren.

HELP ME PLEASE!! Trying to make a Simple Struts Portlet to work for 2 years

New Member Beiträge: 2 Beitrittsdatum: 06.11.06 Neueste Beiträge
Dears,

I have being trying to develop a Struts Portlet since May 2005 (3.2 version) but I still could not!!

It made me crazy for times, I keep updating versions and Extension Environments but nothing helped!

This is my actual code running on EXT env. Liferay 4.1.2 with Tomcat:



---------------------------------------------------------
liferay-portlet-ext.xml
---------------------------------------------------------

<%@ include file="/html/portlet/ext/usrimc/init.jsp" %>


<title>:: Page Name ::</title>



<br><center> <h3> Page Title </h3> </center>

<form action="<portlet:actionURL windowState=" <%="WindowState.MAXIMIZED.toString()" %>"&gt;<portlet:param name="struts_action" value="/ext/usrimc/actionusrimc" />" method="post" name="<portlet:namespace />fm"&gt;	
	
	
<div align="left">
        
       	<p><font color="#0066FF" face="Verdana"><b>Nome:</b></font> 
	<input name="<portlet:namespace />nome" size="60" type="text" value="">
</p></div>
	<hr color="#99CC66">	   
	
</form>







---------------------------------------------------------
liferay-portlet-ext.xml
---------------------------------------------------------
<!--?xml version="1.0"?-->


<liferay-portlet-app>
	<portlet>
		<portlet-name>IMC_User</portlet-name>
		<struts-path>ext/usrimc</struts-path>
		<use-default-template>false</use-default-template>
	</portlet>
	<role-mapper>
		<role-name>administrator</role-name>
		<role-link>Administrator</role-link>
	</role-mapper>
	<role-mapper>
		<role-name>power-user</role-name>
		<role-link>Power User</role-link>
	</role-mapper>
	<role-mapper>
		<role-name>user</role-name>
		<role-link>User</role-link>
	</role-mapper>
	<role-mapper>
		<role-name>guest</role-name>
		<role-link>Guest</role-link>
	</role-mapper>
</liferay-portlet-app>



---------------------------------------------------------
portlet-ext.xml
---------------------------------------------------------
<!--?xml version="1.0"?-->
<portlet-app>
	<portlet>
	 <portlet-name>IMC_User</portlet-name>
	 <display-name>Consulta de IMC</display-name>
	 <portlet-class>com.liferay.portlet.StrutsPortlet</portlet-class>
	 <init-param>
	   <name>view-action</name>
	   <value>/ext/usrimc/view</value>
	 </init-param>
	 <expiration-cache>0</expiration-cache>
	<supports>
		<mime-type>text/html</mime-type>
	</supports>
	<resource-bundle>com.liferay.portlet.StrutsResourceBundle</resource-bundle>
	<security-role-ref>
		<role-name>administrator</role-name>
	</security-role-ref>
	<security-role-ref>
		<role-name>guest</role-name>
	</security-role-ref>
		<security-role-ref>
	<role-name>power-user</role-name>
		</security-role-ref>
	<security-role-ref>
		<role-name>user</role-name>
	</security-role-ref>
</portlet>
</portlet-app>



---------------------------------------------------------
struts-config.xml
---------------------------------------------------------
<!--?xml version="1.0"?-->


<struts-config>
	<!-- Forms Beans  -->
	<form-beans>
	<form-bean name="imcForm" type="com.ext.portlet.usrimc.form.IMCForm" />
	</form-beans>

	<!-- Action Mappings -->
	<action-mappings>

	<action path="/ext/usrimc/view" forward="portlet.ext.usrimc.view" />

	<action path="/ext/usrimc/actionusrimc" type="com.ext.portlet.usrimc.action.IMCAction" name="imcForm" scope="session" input="portlet.ext.usrimc.view"> 
	
	<forward name="/ext/usrimc/imc_successo" path="portlet.ext.usrimc.imc_sucesso" />
	
	<forward name="/ext/usrimc/imc_erro" path="portlet.ext.usrimc.imc_erro" />

	</action>
	</action-mappings>
</struts-config>





---------------------------------------------------------
tiles-defs.xml
---------------------------------------------------------
<!--?xml version="1.0" encoding="ISO-8859-1"?-->


<tiles-definitions>

<definition name="portlet.ext.usrimc" extends="portlet" />
<definition name="portlet.ext.usrimc.view" extends="portlet.ext.usrimc">
	<put name="portlet_content" value="/portlet/ext/usrimc/view.jsp" />
</definition>

<definition name="portlet.ext.usrimc.imc_sucesso" extends="portlet.ext.usrimc">
	<put name="portlet_content" value="/portlet/ext/usrimc/imc_sucesso.jsp" />
</definition>

<definition name="portlet.ext.usrimc.imc_erro" extends="portlet.ext.usrimc">
	<put name="portlet_content" value="/portlet/ext/usrimc/imc_erro.jsp" />
</definition>

</tiles-definitions>





---------------------------------------------------------
web.xml
---------------------------------------------------------
<!--?xml version="1.0" encoding="UTF-8"?-->


<web-app>
 <taglib>
  <taglib-uri>http://java.sun.com/portlet</taglib-uri>
  <taglib-location>/WEB-INF/liferay-portlet.tld</taglib-location>
 </taglib>
 <taglib>
  <taglib-uri>/tags/struts-bean</taglib-uri>
  <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
 </taglib>
 <taglib>
  <taglib-uri>/tags/struts-html</taglib-uri>
  <taglib-location>/WEB-INF/struts-portlet-html.tld</taglib-location>
 </taglib>
 <taglib>
  <taglib-uri>/tags/struts-logic</taglib-uri>
  <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
 </taglib>
 <taglib>
  <taglib-uri>/tags/struts-nested</taglib-uri>
  <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
 </taglib>
 <taglib>
  <taglib-uri>/tags/struts-tiles</taglib-uri>
  <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
 </taglib>

</web-app>



02:55:36,796 ERROR [[jsp]:704] Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.JspException: Cannot find bean: "org.apache.struts.taglib.html.BEAN" in any scope
at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:935)
at org.apache.struts.taglib.html.BaseFieldTag.prepareValue(BaseFieldTag.java:121)
at org.apache.struts.taglib.html.BaseFieldTag.renderInputElement(BaseFieldTag.java:102)
at org.apache.struts.taglib.html.BaseFieldTag.doStartTag(BaseFieldTag.java:81)
at org.apache.jsp.html.portlet.ext.usrimc.view_jsp._jspx_meth_html_text_0(view_jsp.java:583)

at org.apache.jsp.html.portlet.ext.usrimc.view_jsp._jspService(view_jsp.java:465)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

....................................................................

Any help would be incredbily appreciated!!

Thank you,
Anderson
Ed F., geändert vor 17 Jahren.

RE: HELP ME PLEASE!! Trying to make a Simple Struts Portlet to work for 2 y

Expert Beiträge: 280 Beitrittsdatum: 27.06.06 Neueste Beiträge
Hi, sorry you've had trouble, we all have.

I just wanted to make sure that top file wasn't really liferay-portlet.xml, but a jsp file isntead. I'm sure it is, but anyway.

Check out the Struts Portlet presentations at: http://www.liferay.com/web/guest/devzone/presentations

Also the Liferay wiki at: http://wiki.liferay.com/index.php/Developing_Struts_Based_Portlets_on_Liferay_Portal

It looks like you've got a very different method of development than what I use.
You should use the service builder.

Any questions, I'll do what I can.
thumbnail
Jorge Ferrer, geändert vor 17 Jahren.

RE: HELP ME PLEASE!! Trying to make a Simple Struts Portlet to work for 2 y

Liferay Legend Beiträge: 2871 Beitrittsdatum: 31.08.06 Neueste Beiträge
It seems to be a problem related to the usage of Struts. In fact it looks like a Struts tag does not find an attribute it's looking for. But in the JSP you posted there is no usage of an Struts tag. Isn't there any other JSP code?