java - 如何在 Java 上为网站创建漂亮的 URL(永久链接)?

标签 java url jakarta-ee permalinks

我想为我的 Java 网络项目制作漂亮的 URL。

例如,我有这样的 URL:

  • www.mysite.com/web/controller?command=showNews&newsId=1
  • www.mysite.com/web/controller?command=showNews&newsId=2
  • www.mysite.com/web/controller?command=showNews&newsId=3

  • www.mysite.com/web/user.do?action=start
  • www.mysite.com/web/user.do?action=showCategory&category=videoGames§ion=AboutGames

但它不是那么漂亮和用户友好...

我想做这样的链接:

  • www.mysite.com/web/2011/10/04/Steve-Jobs-iPhone-5/
  • www.mysite.com/web/2011/10/23/Facebook-Timeline/
  • www.mysite.com/web/2012/05/25/Vladimir-Putin-Russian-President/

你能帮我解决这个问题吗?我怎样才能得到它?

如果有帮助,可以使用任何 Java 框架或库。

谢谢!

更新:我找到了解决方案 - Spring MVCController@RequestMapping("/Putin") 注释为例。

最佳答案

Context Framework让你做到这一点。例如,您提供的示例可以在 View 中像这样映射:

@View(url="regex:/web/<year:\\d{4}>/<month:\\d{2}>/<day:\\d{2}>/<specifier>")
@PageScoped
public class ArticleView extends Component implements ViewComponent {

  @PathParam
  private long year;

  @PathParam
  private long month;

  @PathParam
  private long day;

  @PathParam
  private String specifier;

  @Override
  public void initialize(ViewContext context) {
    System.out.println(year+"/"+month+"/"+day+"/"+specifier);
    // Then do something
  }
}

关于java - 如何在 Java 上为网站创建漂亮的 URL(永久链接)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7618978/

相关文章:

java - 编写一个程序来压缩字符串

AngularJS Web 应用程序

apache - 明显重写的 URL 重写(更改地址栏中的 URL)

java - 如何模拟 servletContext 而不是 Servlet 或 HttpServletRequest?

java - 如何在 Java 中将未检查的异常转换/包装为已检查的异常?

java - 每个循环将数字添加到数组

java - 在executeUpdate Java MySQL 中出现错误

jquery - 如何删除按钮单击时的查询字符串?

java - Websocket服务器: Handle close event per session

java - weblogic 12c 上的 Atmosphere Pubsub 示例错误