Thank you! I just wanted to be sure I wasn't missing anything. I'll need to
read up on how that configuration value works to understand why this line
causes it not to work. I'll put up a PR to make the code match the
documentation of the Hello World example.

On Wed, Apr 17, 2024 at 12:43 AM Lukasz Lenart <lukaszlen...@apache.org>
wrote:

> niedz., 14 kwi 2024 o 20:56 Tim Mousaw <tim.mou...@gmail.com> napisał(a):
> >
> > I started to go through the Getting Started examples at
> > https://struts.apache.org/getting-started/index.html. I downloaded all
> the
> > examples from https://github.com/apache/struts-examples. I would expect
> > that I should be able to run `mvn jetty:run` from any of the examples,
> > follow the appropriate link, and it should work as in the corresponding
> > tutorial. However, this breaks down very quickly as when I try to run
> that
> > for the `helloworld` example, I get the following error in my web browser
> > when going to the link http://localhost:8080/helloworld/index.action:
> > HTTP ERROR 404 Not Found
> > URI: /helloworld/index.action
> > STATUS: 404
> > MESSAGE: Not Found
> > SERVLET: default
> > ------------------------------
> > Powered by Jetty:// 9.4.46.v20220331 <https://eclipse.org/jetty>
> >
> > With debug logging enabled, navigating to
> > localhost:8080/helloworld/index.action spits the following two lines of
> > output to the console:
> > 2024-04-14 14:44:44,340 DEBUG [qtp273531298-62]
> config.ConfigurationManager
> > (ConfigurationManager.java:180) - Checking ConfigurationProviders for
> > reload.
> > 2024-04-14 14:44:44,343 DEBUG [qtp273531298-62]
> > impl.InstantiatingNullHandler (InstantiatingNullHandler.java:98) -
> Entering
> > nullPropertyValue
> > [target=[com.opensymphony.xwork2.DefaultTextProvider@6dbebaa7],
> > property=struts]
> >
> > If I remove the line "<constant name="struts.action.extension"
> value=","/>"
> > from struts.xml, then the example seems to work. It gets the same two
> lines
> > of output to the console followed by:
>
> You are right, by removing this constant you make Struts to fallback
> to default configuration [1] which supports both .action and no suffix
> in the url
>
> [1]
> https://github.com/apache/struts/blob/master/core/src/main/resources/org/apache/struts2/default.properties#L87
>
> > 2024-04-14 14:51:46,765 DEBUG [qtp273531298-50] xwork2.DefaultActionProxy
> > (DefaultActionProxy.java:85) - Creating an DefaultActionProxy for
> namespace
> > [/] and action name [index]
> >
> > As well as a bunch of other logging after that before the page renders.
> > From searching for this configuration, I think the intention of this line
> > is to remove the `.action` suffix from the action (e.g. the link in the
> web
> > browser displays localhost:8080/helloworld/index rather than
> > http://localhost:8080/helloworld/index.action). So, I'm curious what I
> have
> > configured wrong that doesn't allow this to work. I'm using Java 21
> > (Corretto). Let me know if there are other dependencies that you need to
> > know the version of.
>
> As you notice what was documented on the page doesn't match the
> example Hello World application. So either you can prepare a PR fixing
> the documentation or the example app.
>
>
> Cheers
> Lukasz
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>

Reply via email to