Skip to content

Form tag prepending context/servlet path breaks use for portlets [SPR-10382] #15015

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
spring-projects-issues opened this issue Mar 14, 2013 · 3 comments
Assignees
Labels
in: web Issues in web modules (web, webmvc, webflux, websocket) type: bug A general bug
Milestone

Comments

@spring-projects-issues
Copy link
Collaborator

spring-projects-issues commented Mar 14, 2013

Kevin Wilkinson opened SPR-10382 and commented

When using the form tag for portlets, prepending the portlet's context is not wanted since we want the url to resolve to the portal's context and not the portlet's(where the form tag lives). The portlet url tags generate portlet urls within the jsp like
/uPortal/f/s70/p/portlet-name/normal/action.uPpP_javax.portlet.action=saveItem
which resolve to /uPortal and not /PortletName

<form:form modelAttribute="itemForm" method="post" action="/uPortal/f/s70/p/portlet-name/normal/action.uP?pP_javax.portlet.action=saveItem">
...
</form:form>

renders as

<form id="itemForm" action="/PortletName/uPortal/f/s70/p/portlet-name/normal/action.uP?pP_javax.portlet.action=saveItem" method="post">
...
</form>

The original idea was to have the adding-context functionality off by default and turned on by an added parameter but it wasn't implemented. That way it wouldn't break anything while letting new apps take advantage of the shortcut.


Affects: 3.2.1, 3.2.2

Reference URL: https://jira.springsource.org/browse/SPR-8684

Issue Links:

Referenced from: commits c0cacfc, 399f887

2 votes, 7 watchers

@spring-projects-issues
Copy link
Collaborator Author

Rossen Stoyanchev commented

This is the 3.2.1 commit that introduced the change. We'll have it fixed in 3.2.3.

@spring-projects-issues
Copy link
Collaborator Author

Sindri Traustason commented

I've managed to find a workaround for this by having the portal call WebUtils.exposeForwardRequestAttributes() before forwarding to the portlet application. This causes the form tag to use the portals context path instead of the portlet applications path.

@spring-projects-issues
Copy link
Collaborator Author

Rossen Stoyanchev commented

I've reverted to the previous behavior of not prepending and added a new FormTag attribute called servletRelativeAction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: web Issues in web modules (web, webmvc, webflux, websocket) type: bug A general bug
Projects
None yet
Development

No branches or pull requests

2 participants