Hello! When using an url-pattern like below, I get code 404. When pressing the button the redirected URL looks like it should do. but it is not found
atlassian-plugin.xml
<servlet name="clientdetails" key="clientdetails" class="jiraplugin.ClientDetails">
<description>Provides pages for the URL provided.</description>
<url-pattern>/xx/client*</url-pattern>
</servlet>
<routing name="Pretty URL" key="routing" path="/xx/client">
<route from="/" to="/plugins/servlet/xx/client"/>
<route from="/{name}" to="/plugins/servlet/xx/client/{name}"/>
</routing>
and velocity template that directs to client page
<div class="field-group">
<a href='xx/client/$sponsor.getName()'>
<button type="button">Show Client</button>
</a>
</div>
ClientDetails
@Scanned
public class ClientDetails extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final String TEMPLATE = "xx_client_details.vm";
Map<String, Object> context;
//some fields
@Inject
public ClientDetails (@ComponentImport SearchService searchService, @ComponentImport TemplateRenderer templateRenderer,
@ComponentImport UserManager userManager, @ComponentImport CustomFieldManager customFieldManager,
@ComponentImport WorklogManager worklogManager, @ComponentImport IssueLinkManager issueLinkManager,@ComponentImport LoginUriProvider loginUriProvider,
@ComponentImport PageBuilderService pageBuilderService, BookedHoursTransactions bookedHoursTransactions, @ComponentImport I18nResolver i18nResolver) {
super();
//init
}
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
// Include the velocity template
this.pageBuilderService.assembler().resources().requireContext("xx:xx-resources");
// Check if the any user is logged in. If not -> login page
if (userManager.getRemoteUser(request) == null) {
redirectToLogin(request, response);
return;
}
response.setContentType("text/html;charset=utf-8");
UserKey currUserKey = userManager.getRemoteUser().getUserKey();
String currUsername = userManager.getRemoteUser().getUsername();
// Create default context
context = Maps.newHashMap();
response.setContentType("text/html;charset=utf-8");
context.put("error", "");
ApplicationUser currUser = ComponentAccessor.getUserManager().getUserByName(currUsername);
//some code
context.put("sponsors", sponsors);
templateRenderer.render(TEMPLATE, context, response.getWriter());
}
private void redirectToLogin(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.sendRedirect(loginUriProvider.getLoginUri(getUri(request)).toASCIIString());
}