Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 350 Vote(s) - 3.42 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Liferay + Struts2 There is no Action mapped for namespace /testPortlet1 and action name startTestPortlet1, why?

#1
I am absolutly new in Liferay portlet development and I have the following problem.

When I try to add my first portlet (developed by me) in the portlet I obtein this error message:

> testPortlet1 is temporarily unavailable.

And in the stacktrace of my IDE I see this error message:

2014-12-19 11:37:55,874 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] ERROR commons.CommonsLogger.error(38) - Could not find action
There is no Action mapped for namespace /testPortlet1 and action name startTestPortlet1. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
..............................................................................
..............................................................................
..............................................................................
11:37:55,883 ERROR [PortletServlet:96] javax.portlet.PortletException: Could not find action startTestPortlet1
javax.portlet.PortletException: Could not find action startTestPortlet1
at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.serviceAction(Jsr168Dispatcher.java:454)
at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.render(Jsr168Dispatcher.java:322)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:101)
..............................................................................
..............................................................................
..............................................................................
Caused by: There is no Action mapped for namespace /testPortlet1 and action name startTestPortlet1. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
..............................................................................
..............................................................................
..............................................................................
11:37:55,892 ERROR [jsp:154] There is no Action mapped for namespace /testPortlet1 and action name startTestPortlet1. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
..............................................................................
..............................................................................
..............................................................................

So this is the **structs.xml** section related to my portlet:

<package name="TestPortlet1Package" extends="struts-portlet-default" namespace="/">
<action name="startTestPortlet1" class="TestPortlet1Action" method="startTestPortlet1">
<result name="success">/testPortlet1/testPortlet1.jsp</result>
</action>
</package>

This is my JSP view (definied inside the **\Web\src\main\webapp\testPortlet1\testPortlet1.jsp**):

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sj" uri="/struts-jquery-tags" %>
<style>
.portlet-topper#portlet_SliderNewsPortlet_WAR_KMPortlets, .portlet-title#portlet_SliderNewsPortlet_WAR_KMPortlets {
display: none
}

.portlet#portlet_SliderNewsPortlet_WAR_KMPortlets, .portlet-content#portlet_SliderNewsPortlet_WAR_KMPortlets {
border: 0;
margin: 0;
padding: 0;
background: 0;

}
</style>
<hr style="height:1px;border:none;color:#1d8843;background-color:#1d8843;width: 98%" size="4px">
<table width="100%">
<tr>
<td>
<table class="homePortletTitle">
<tr>
<td style="padding-bottom: 0px;"><img src="/km-theme/images/km-icons/section_icon_focus.png"></td>
<th style="">TestPortlet1</th>
<td style="">Hello World Portlet</td>
</tr>
</table>
</td>
</tr>

<tr>
<td>
<p>Hello World !!!</p>
</td>
</tr>
</table>

And this is my portlet configuration definied into **portlet.xml** file:

<portlet>

<portlet-name>testPortlet1</portlet-name>
<display-name>testPortlet1</display-name>
<portlet-class>org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher</portlet-class>

<init-param>
<name>viewNamespace</name>
<value>/testPortlet1</value>
</init-param>

<init-param>
<name>defaultViewAction</name>
<value>startTestPortlet1</value>
</init-param>

<expiration-cache>0</expiration-cache>

<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>

<portlet-info>
<title>testPortlet1</title>
</portlet-info>

</portlet>

What am I missing? How can I solve this issue? I am going crazy.

Tnx
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through