lunakillz / sitemesh2 Goto Github PK
View Code? Open in Web Editor NEWThis project forked from sitemesh/sitemesh2
SiteMesh 2: Official repository
Home Page: http://www.opensymphony.com/sitemesh
License: Other
This project forked from sitemesh/sitemesh2
SiteMesh 2: Official repository
Home Page: http://www.opensymphony.com/sitemesh
License: Other
************************************* ** OpenSymphony SiteMesh 2.5 ** ************************************* SiteMesh is a web-page layout system that can be used to abstract common look and feel from the functionality of a web-application and to assemble large webpages from smaller components. Pages and components can have meta-data extracted from them (such as body, title and meta-tags) which can be used by decorators (skins) that are applied. SiteMesh won't tread on your toes or force you to work in a certain way (except for cleaner) - you install and carry on working as before. It seamlessly fits in with existing frameworks. Forget the hype - just try it! You'll be impressed with how it can simplify things. -------------------------- -- Obtaining -- -------------------------- The latest version of SiteMesh can be obtained from: http://www.opensymphony.com/sitemesh/ -------------------------- -- Requirements -- -------------------------- SiteMesh requires a Java Servlet container conforming to the Servlet 2.3 specification. Versions prior to 2.3 are not enough. Currently known containers that support this and SiteMesh was tested with: * Orion 1.5.4 and up - http://www.orionserver.com * Tomcat 4.0, 4.1 and 5.0.19 - http://jakarta.apache.org/tomcat * Resin 2.1.11, 2.1.12, 2.1.13 and 3.0.7 - http://www.caucho.com * Oracle OC4J 2 - http://www.oracle.com * WebLogic 7.0 SP2, 8.1 and 8.1 SP2 - http://www.bea.com * WebSphere 5.0 - http://www.ibm.com * Jetty 4.2.20 - http://jetty.mortbay.org -------------------------- -- Installation -- -------------------------- * Copy sitemesh-@[email protected] to the WEB-INF/lib/ directory of your web-app. * OPTIONAL: Copy sitemesh.xml to the WEB-INF/ directory if you need to specify a custom decorator mapper configuration then the default configuration. * Add the following to WEB-INF/web.xml: <filter> <filter-name>sitemesh</filter-name> <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class> </filter> <filter-mapping> <filter-name>sitemesh</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> * ORION USERS ONLY. For performance reasons, Orion does not auto-load tab library descriptors from Jars by default. To get passed this you will also have to copy sitemesh-decorator.tld and sitemesh-page.tld to WEB-INF/lib and add the following to WEB-INF/web.xml: <taglib> <taglib-uri>http://www.opensymphony.com/sitemesh/decorator</taglib-uri> <taglib-location>/WEB-INF/lib/sitemesh-decorator.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://www.opensymphony.com/sitemesh/page</taglib-uri> <taglib-location>/WEB-INF/lib/sitemesh-page.tld</taglib-location> </taglib> -------------------------- -- Getting started -- -------------------------- Ok, let's assume you have some basic JSPs already on the site. These should contain vanilla HTML. If you don't, here's a JSP to get you started (test.jsp). <html> <head> <title>Hello world</title> </head> <body> <p>Today is <%= new java.util.Date() %>.</p> </body> </html> Once you have some content (preferably more imaginative than the example above), a decorator should be created (decorator.jsp). <%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %> <html> <head> <title>My Site - <decorator:title default="Welcome!" /></title> <decorator:head /> </head> <body> <decorator:body /> </body> </html> Now you need tell SiteMesh about that decorator and when to use it. Create the file WEB-INF/decorators.xml: <decorators> <decorator name="mydecorator" page="/decorator.jsp"> <pattern>/*</pattern> </decorator> </decorators> Access your original JSP (test.jsp) though your web-browser and it should look pretty normal. Now if you add some styling to your decorator it shall automatically be applied to all the other pages in your web-app. You can define as many decorators as you want in decorators.xml. Example: <decorators defaultdir="/decorators"> <decorator name="default" page="default.jsp"> <pattern>/*</pattern> </decorator> <decorator name="anotherdecorator" page="decorator2.jsp"> <pattern>/subdir/*</pattern> </decorator> <decorator name="htmldecorator" page="html.jsp"> <pattern>*.html</pattern> <pattern>*.htm</pattern> </decorator> <decorator name="none"> <!-- These files will not get decorated. --> <pattern>/anotherdir/*</pattern> </decorator> </decorators> -------------------------- -- Further support -- -------------------------- You get the idea. Play around. See the SiteMesh website for full documentation. http://www.opensymphony.com/sitemesh/ -------------------------- -- Credits -- -------------------------- Thank these guys: * Mathias Bogaert <[email protected]> * Mike Cannon-Brookes <[email protected]> * Victor Salaman <[email protected]> * Joseph Ottinger <[email protected]> * Hani Suleiman <[email protected]> * Scott Farquhar <[email protected]> * James Roper <[email protected]> * Matt Quail <[email protected]> * Charles Miller <[email protected]> - Joe Walnes <[email protected]>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.