I'm using 6.0.6.snapshot On Friday, June 16, 2017 at 3:10:56 PM UTC-4, Achim Nierbeck wrote: > > Hi > > are you looking for this? > > https://github.com/ops4j/org.ops4j.pax.web/blob/master/samples/whiteboard-ds/src/main/java/org/ops4j/pax/web/samples/whiteboard/ds/WhiteboardServletWithContext.java > > That should work, which version of Pax Web are you using? > > regards, Achim > > > 2017-06-16 20:25 GMT+02:00 Eben Stewart <[email protected] > <javascript:>>: > >> One step further.... >> >> This works: >> >> final HttpContextMapping httpContextMapping = new HttpContextMapping() { >> >> static final String HTTP_CONTEXT_ID = "customContext"; >> >> @Override >> public String getHttpContextId() { >> return HTTP_CONTEXT_ID; >> } >> >> @Override >> public String getPath() { >> return "customContext"; >> } >> >> @Override >> public Map<String, String> getParameters() { >> return null; >> } >> >> @Override >> public HttpContext getHttpContext() { >> return null; >> } >> }; >> >> >> Adding that, as well as calling setHttpContextId("customContext") on both >> the resourceMapping and jspMapping. >> >> A servlet also works, but only if I set >> >> ExtenderConstants.PROPERTY_HTTP_CONTEXT_ID >> >> instead of >> >> HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT >> >> Is this expected behavior? >> >> On Friday, June 16, 2017 at 11:19:00 AM UTC-4, Eben Stewart wrote: >>> >>> Ok, still trying to narrow this down to just the JSP functionality.... >>> >>> >>> What I am trying to accomplish: >>> 1) As many DS-based classes, keeping to OSGI standard annotations as >>> much as possible >>> 2) use of @Component instead of @WebServlet, so that wiring to OSGI >>> components can be done in the servlets using primarily annotations (since >>> @WebServlet are not OSGI components, they are not included in the lifecycle >>> - DS annotations do not work) >>> 3) must be able to have separate web context roots for multiple >>> applications on one server >>> 4) and JSPs, preferably with custom tags (using on-the-fly compiling >>> w/Jasper) >>> >>> Here's a real simple setup: a single jsp (/index.jsp) that references >>> the tag "layout.tag" in /WEB-INF/tags - NOT tlds >>> >>> A single Activator class with this start() method: >>> >>> public void start(final BundleContext bundleContext) throws Exception { >>> final DefaultResourceMapping rootResourceMapping = new >>> DefaultResourceMapping(); >>> rootResourceMapping.setAlias("/"); >>> rootResourceMapping.setPath(""); >>> rootResourceMappingRegistration = >>> bundleContext.registerService(ResourceMapping.class, rootResourceMapping, >>> null); >>> >>> final DefaultJspMapping jspMapping = new DefaultJspMapping(); >>> jspMappingRegistration = bundleContext.registerService(JspMapping.class, >>> jspMapping, null); >>> } >>> >>> in root of bundle: >>> >>> - index.jsp >>> - WEB-INF >>> - tags >>> layout.tag >>> >>> This all works as expected. localhost:8080/index.jsp properly shows the >>> jsp page, including the proper use of the custom tag. >>> >>> I guess the real question is, how do you properly setup a custom context >>> root via HttpContext, without the use of a war? >>> >>> What's the best practice for getting JSPs to work under a different >>> ContextRoot (as this also affects session cookie paths)? How would I >>> modify this start() to associate a context root so it works under >>> http://localhost:8080/customcontext/index.jsp? >>> >>> >>> >>> On Friday, June 16, 2017 at 7:09:56 AM UTC-4, Achim Nierbeck wrote: >>>> >>>> Ahh .. I already thought you would be running a war project. >>>> Good to know that that is actually working. >>>> In your case you need to make sure you also have registered the taglibs >>>> as resources to your project. >>>> Take a look at [1], it should be similar. >>>> If that still doesn't seem to work we might hit a bug or something we >>>> didn't test yet fully. >>>> >>>> regards, Achim >>>> >>>> [1] - >>>> https://github.com/ops4j/org.ops4j.pax.web/tree/master/samples/helloworld-jsp >>>> >>>> 2017-06-15 23:06 GMT+02:00 Eben Stewart <[email protected]>: >>>> >>>>> So it seems a little bit more narrow - it *does* work, but only when >>>>> Web-ContextPath is specified in the Manifest (therefore acting as a war?) >>>>> >>>>> However, if using Whiteboard-DS, this is not used, instead a >>>>> ServletContextHelper with a >>>>> HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH set is used. It >>>>> will >>>>> compile the JSP just fine in the context path, but not find the .tag file >>>>> in the tags directory. >>>>> >>>>> Or I am configuring/thinking about this the wrong way, which is >>>>> certainly plausible. >>>>> >>>>> Would it be helpful to attach the project zip? >>>>> >>>>> On Thursday, June 15, 2017 at 2:06:44 PM UTC-4, Achim Nierbeck wrote: >>>>>> >>>>>> hmmm ... guess we need to take a closer look at it. >>>>>> could you open an issue for that? >>>>>> >>>>>> regards, Achim >>>>>> >>>>>> >>>>>> 2017-06-15 19:49 GMT+02:00 Eben Stewart <[email protected]>: >>>>>> >>>>>>> I tried that - Jasper compiler complains about the path not starting >>>>>>> with /WEB-INF/ >>>>>>> >>>>>>> >>>>>>> On Thursday, June 15, 2017 at 11:20:48 AM UTC-4, Achim Nierbeck >>>>>>> wrote: >>>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> I'm not sure, the only thing that crosses my mind right now would >>>>>>>> be the / before the WEB-INF, >>>>>>>> could you give it a try without the slash? >>>>>>>> >>>>>>>> If that still doesn't work out, please open an issue at pax web for >>>>>>>> that. >>>>>>>> OTH might want to checkout how the jsf and the primefaces samples >>>>>>>> are doing this. [1] >>>>>>>> >>>>>>>> regards, Achim >>>>>>>> >>>>>>>> [1] - >>>>>>>> https://github.com/ops4j/org.ops4j.pax.web/tree/master/samples/war-jsf-primefaces >>>>>>>> >>>>>>>> 2017-06-14 20:57 GMT+02:00 Eben Stewart <[email protected]>: >>>>>>>> >>>>>>>>> Very simple example... tried this under standard WAR/Tomcat >>>>>>>>> environment, and it works fine. >>>>>>>>> >>>>>>>>> In pax-web, using extended DefaultJspMapping class for JSPs, >>>>>>>>> directory structure of jar shows index.jsp in the root, and >>>>>>>>> layout.tag >>>>>>>>> in /WEB-INF/tags. It definitely sees the jsps (with the custom tag, >>>>>>>>> they >>>>>>>>> work fine) >>>>>>>>> >>>>>>>>> index.jsp: >>>>>>>>> <!DOCTYPE html> >>>>>>>>> <%@taglib prefix="my" tagdir="/WEB-INF/tags"%> >>>>>>>>> >>>>>>>>> <my:layout> >>>>>>>>> <jsp:attribute name="body"> >>>>>>>>> <div> >>>>>>>>> Test >>>>>>>>> </div> >>>>>>>>> </jsp:attribute> >>>>>>>>> </my:layout> >>>>>>>>> >>>>>>>>> /WEB-INF/tags/layout.tag: >>>>>>>>> <!DOCTYPE html> >>>>>>>>> <%@tag description="LayoutTemplate" pageEncoding="UTF-8"%> >>>>>>>>> <%@attribute name="body" fragment="true" %> >>>>>>>>> >>>>>>>>> <html> >>>>>>>>> <body> >>>>>>>>> <jsp:invoke fragment="body"/> >>>>>>>>> </body> >>>>>>>>> </html> >>>>>>>>> >>>>>>>>> However, when I attempt to load the page: >>>>>>>>> >>>>>>>>> org.apache.jasper.JasperException: /index.jsp (line: 4, column: 0) No >>>>>>>>> tag "layout" defined in tag library imported with prefix "my" >>>>>>>>> >>>>>>>>> >>>>>>>>> Am I missing a directive somewhere? >>>>>>>>> >>>>>>>>> -- >>>>>>>>> -- >>>>>>>>> ------------------ >>>>>>>>> OPS4J - http://www.ops4j.org - [email protected] >>>>>>>>> >>>>>>>>> --- >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "OPS4J" group. >>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>> send an email to [email protected]. >>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> Apache Member >>>>>>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC >>>>>>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> >>>>>>>> Committer & Project Lead >>>>>>>> blog <http://notizblog.nierbeck.de/> >>>>>>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> >>>>>>>> >>>>>>>> Software Architect / Project Manager / Scrum Master >>>>>>>> >>>>>>>> -- >>>>>>> -- >>>>>>> ------------------ >>>>>>> OPS4J - http://www.ops4j.org - [email protected] >>>>>>> >>>>>>> --- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "OPS4J" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to [email protected]. >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> Apache Member >>>>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC >>>>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> >>>>>> Committer & Project Lead >>>>>> blog <http://notizblog.nierbeck.de/> >>>>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> >>>>>> >>>>>> Software Architect / Project Manager / Scrum Master >>>>>> >>>>>> -- >>>>> -- >>>>> ------------------ >>>>> OPS4J - http://www.ops4j.org - [email protected] >>>>> >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "OPS4J" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> >>>> >>>> -- >>>> >>>> Apache Member >>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC >>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> >>>> Committer & Project Lead >>>> blog <http://notizblog.nierbeck.de/> >>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> >>>> >>>> Software Architect / Project Manager / Scrum Master >>>> >>>> -- >> -- >> ------------------ >> OPS4J - http://www.ops4j.org - [email protected] <javascript:> >> >> --- >> You received this message because you are subscribed to the Google Groups >> "OPS4J" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > > Apache Member > Apache Karaf <http://karaf.apache.org/> Committer & PMC > OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & > Project Lead > blog <http://notizblog.nierbeck.de/> > Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> > > Software Architect / Project Manager / Scrum Master > >
-- -- ------------------ OPS4J - http://www.ops4j.org - [email protected] --- You received this message because you are subscribed to the Google Groups "OPS4J" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
