XML and JSP join hands (2)

zhaozj2021-02-16  131

Application: A online album all people like to take pictures! They like to show their own, relatives, friends, vacation photos, and web is a good place they show. - Even relatives outside a thousand miles can be seen. I will focus on defining a separate Picture object. (The source code of this application can be obtained in Resources). This object describes the fields required to represent a photo: Title, Date, an optional title, and a point to the image source. An image requires some of its own fields: source file (GIF / JPEG) positioning, width, and height pixels (to help build tag. Here you can see a very simple advantage, that is, if you use the file system instead When the database, you can store graphics files in the same directory as the data file. Finally, let us extend the image record with an element, which defines a set of thumbnails to use for content tables or elsewhere. Here I use the image content that is the same as the previously defined. One picture of XML representation can be like this: alex on the beach </ title> <date> 1999-08-08 </ date> <Caption> Trying in Vain To Get a Tan </ CAPTION> <image> <src> alex-beach.jpg </ src> <width> 340 </ width> <height> 200 </ height> </ image> < Thumbnails> <image> <src> alex-beach-sm.jpg </ src> <width> 72 </ width> <height> 72 </ height> </ image> <image> <src> alex-beach-med .jpg </ src> <width> 150 </ width> <height> 99 </ height> </ image> </ thumbnails> </ picture> Note, by using XML, you will put all the information on a separate image In a separate file, not to disperse it into 3-4 tables. We call this as .pix file - so your file system will be like this: Summer99 / alex-beach.pix summer99 / Alex-beach.jpg summer99 / alex-beach-sm.jpg summer99 / alex-beach-med.jpg summer99 / alex-snorkeling.pix ETC. Technology Second, how to peel off the skin of the cat. Similar It is more than one way to put XML data into JSP. There are some ways, (in fact, many other tools can also do the same excellent.) DOM: You can use classes to call DOM interfaces (Interface ) Analyze checks for XML files. XmlenTryList: You can use my code to load XML to NAM E-Value PAIRS in java.util.list. XPath: You can use an XPath processor (such as RESIN) to locate an element in an XML file via a path name. XSL: You can use some XSL processor to convert XML to HTML.</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-8951.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="8951" 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.052</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 = '3FjlnJt_2F8cbb9aSGZoQGPyfScCIfTiNkCxO6IUyqLEkYN2m_2FAp5QWrfPu0zYbHQWOF66keRbiXw9qCebQVln6Q_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>