One more specific replacement question. In the Struts 1 app, we had some actions that had no class, but simply forwarded to largely static JSPs: <action path="/home" forward="/home.jsp" />.
In my new struts.xml, I tried: <action name="home"> <result name="success" type="tiles">home.jsp</result> </action> (I've changed my struts.properties to make the suffix .do instead of .action) When I try to go to localhost/appcontextname/home.do, I get the following: javax.servlet.ServletException: home.jsp org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:5 18) org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher .java:421) root cause org.apache.tiles.definition.NoSuchDefinitionException: home.jsp org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.jav a:392) org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.jav a:368) org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:10 4) org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSu pport.java:178) com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultAct ionInvocation.java:343) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo cation.java:248) com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doInterce pt(DefaultWorkflowInterceptor.java:213) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Me thodFilterInterceptor.java:86) com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultAct ionInvocation.java:219) com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultAct ionInvocation.java:218) com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerS tack.java:455) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo cation.java:216) com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(Vali dationInterceptor.java:150) org.apache.struts2.interceptor.validation.AnnotationValidationIntercepto r.doIntercept(AnnotationValidationInterceptor.java:48) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Me thodFilterInterceptor.java:86) com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultAct ionInvocation.java:219) com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultAct ionInvocation.java:218) com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerS tack.java:455) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo cation.java:216) com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept (ConversionErrorInterceptor.java:123) com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultAct ionInvocation.java:219) com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultAct ionInvocation.java:218) . . . Any ideas? It may well be something besides my struts.xml, but I didn't want to just copy my entire webapp to the e-mail, so I took a guess. If you think it's something else, I'll be happy to add more files' contents. Thanks ~Dan Allen -----Original Message----- From: Allen, Daniel Sent: Monday, February 11, 2008 5:08 PM To: Struts Users Mailing List Subject: RE: Struts 2 equivalents? Ok, I found some documents that partly answer my question. However, I'm still looking for a Struts2 equivalent to the old <logic:messagesPresent> tag. Do we just use <s:if> with some special test code now? -- This message may contain confidential, proprietary, or legally privileged information. No confidentiality or privilege is waived by any transmission to an unintended recipient. If you are not an intended recipient, please notify the sender and delete this message immediately. Any views expressed in this message are those of the sender, not those of any entity within the KBC Financial Products group of companies (together referred to as "KBC FP"). This message does not create any obligation, contractual or otherwise, on the part of KBC FP. It is not an offer (or solicitation of an offer) of, or a recommendation to buy or sell, any financial product. Any prices or other values included in this message are indicative only, and do not necessarily represent current market prices, prices at which KBC FP would enter into a transaction, or prices at which similar transactions may be carried on KBC FP's own books. The information contained in this message is provided "as is", without representations or warranties, express or implied, of any kind. Past performance is not indicative of future returns. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]