我有一个使用mcv和freemarker模板的jersey 2.0应用程序。在一个模板中,我有一个表单,其行为是重新提交到相同的URL。说表格网址是:
http://my-domain.com/app-base-path/my-form
所以应用程序注释是:@ApplicationPath("app-base-path")
和资源路径注释为@Path("my-form")
。大。
我试图将表单操作动态设置为:
<form name="settings" action="${model.formAction}" method="post">
行动应该相等:app-base-path / my-form 我试图通过注入UriInfo来设置资源中的值。这就是我得到的:
formAction = uriInfo.getPath();
//result formAction = "my-form"
如何检索包含app-base-path的路径? 没有javascript请!
答案 0 :(得分:0)
您可以使用uriInfo.getAbsolutePath()
获取绝对URI,该URI将返回带有相应资源方法的完整 URI的URI
。
http://localhost:8080/app-base-path/myform
URI可以分为不同的部分,URI
类具有获取这些部分的特定方法
scheme authority path
--------------------------------------------------------
http :// localhost:8080 /app-base-path/myform
URI类有获取所有这些的方法。
uri.getScheme()
uri.getAuthority()
uri.getPath()
我很确定我不需要告诉你你想要哪一个: - )