Sitemesh learning [2]

xiaoxiao2021-03-06  19

Establish a composite view using Sitemesh - 3. Other discussion

Establish a composite view using Sitemesh - 1.Hello

Establish a composite view using Sitemesh - 2. Decorator

Establish a composite view using Sitemesh - 3. Other Discussion <- now

The previous article is enough to apply Sitemesh to improve your app, but I have found that there are some other stuff may also help everyone.

The printed interface decoration has one printed decorator, which allows you to use Http: //localhost/aaa/a.html? Printable = TRUE mode to apply other decorator (you specified) Give the original page for printing (exempt from the pictures of the sprays such as Header, Footer). Let's take a look at how to implement him: 1. First set in Web-Info / Sitemesh.xml: can pass? Printable = TRUE To use a decorator called Printable, not with the original decorator. 2. Define the corresponding Printable decorator 3. Finally Write Printable Decorator / Decorators/printable.jsp

<% @ Taglib Uri = "SiteMesh-Decorator" prefix = "decorator"%> <decorator: title /> </ title> <decorator: head /> </ head> <body> <h1> <decorator: title /> </ h1> <p align = "right"> <i> (printable version) </ i> </ p> <decorator: body /> </ body> </ html> This will allow a raw page to switch different decorator pages via? Printable = true switch.</p> <p>Chinese problem Since the default character set inside Sitemesh is ISO-8859-1, direct use will be garbled, we can correct it by the following method:</p> <p>Method 1: You can find some findings in the profile of the Application Server you use. Do you have an eNCoding or Charset project, and then set to GBK or GB2312 to Method 2: This is also the way we have been using. 1. Set: <% @ page contenttype = "text / html; charset = GBK"%> to tell the Server you ask. 2. Definition in the head of each JSP page: <meta http-equiv = "content-type" content = "text / html; charset = GBK"> Tell the browser you use the character set. Summary: Using Sitemesh's most common way: 1. Configure a good environment, 2. Describe you will build the wrapper in Web-Info / Decroators.xml. 3. Develop the wrapper described in Decroators.xml, it is best to store 4.ok in / _decorators directory, you can look at the hard results :)</p> <p>Resources:</p> <p>Download what I offer with Ant Build, I am tested under J2SDK-1_4_0, Tomcat4.0.3 and Tomcat5, first run /build.bat to generate /Dist/web.war files, and then implement your server. OpenSymphony team project collection: http://sourceforge.net/projects/opensymphony wiki: http://wiki.opensymphony.com/ Download the latest version CVS on sf CVS</p> <p>About the Author:</p> <p>Chen Peng, Xi'an Dongsoft. As a fanatic programmer hopes to grow progress every day, and hope to share happiness and knowledge with you. Please contact him in the following ways: email chen56@msn.com</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-40078.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="40078" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.046</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = '_2B7LUaKyme4IUa9wt7vNf_2Fg21eo6xFLjnGbN_2BqgD6rFXhDz8ZDh2mk0T6VVNlLitv5TXbESBLYNrPbexPGhmRAQ_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>