Проблема Джерси с привязкой URL к JSP - PullRequest
1 голос
/ 08 апреля 2011

Я пытаюсь привязать URL к JSP через Джерси.Я пытаюсь создать сайт с шутками, и мне хотелось бы:

(1) / jokes = список шуток (2) / jokes / 213 = страница для шуток с идентификатором 213

Однако (2), похоже, не работает, я понятия не имею.

Это мой web.xml с сервлетом джерси

    <servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>
        com.sun.jersey.spi.container.servlet.ServletContainer
    </servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>com.moesjokes.site.server.resources</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.config.feature.Redirect</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.config.feature.ImplicitViewables</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <!--<url-pattern>/jokes</url-pattern>-->
    <url-pattern>/jokes/*</url-pattern>
</servlet-mapping>

Вот мой ресурс:

    @Path("/")
public class Jokes {

  @GET
  @Path("/jokes")
  @Produces("application/xml")
  public Viewable getAll() {

    JspPage jsp = new JspPage(Pages.WELCOME);
    JspGlobalWidget global = jsp.getGlobal();

    JokesWidget jokes = new JokesWidget(jsp);
    jokes.setContents( new ContentServcies().getLatestContents(1, 20) );

    Map<String, String> map = new HashMap<String, String>();
    map.put("jokes", jokes.toHtml());

    return new Viewable("/jsp/jokes/index.jsp", map);
  }


  @GET
  @Path("/jokes/{id}/*")
  @Produces("application/xml")
  public String get(@PathParam("id") String id) {

    return "<test>" + id + "</test>";
  }

}

Я что-то не так делаю или ...?Я использую Jetty 6.1, Джерси 1.6

Любая помощь будет признательна =)

1 Ответ

1 голос
/ 08 апреля 2011

Измените свой путь с

@Path("/jokes/{id}/*")

Для

@Path("/jokes/{id}")

Я не верю, что первый в правильном формате.

...