Classic entry tutorial: JSP standard template library (below)

zhaozj2021-02-16  41

Classic entry tutorial: JSP standard template library (below)

JSTL tag library

JSTL is often considered a single tag library. But JSTL actually has 4 label libraries. These tag libraries are summarized as follows:

Core Tag Library - The necessary tags containing some web applications. Examples of the core label library include cyclic, expression assignments, and basic input output. Format / International Label - Includes label libraries that are used to parse data. This tag analyzes data, such as dates, different places, and more. Database Tag Library - contains labels that are used to access the SQL database. These tags typically only create prototype programs. This is because most programs do not process database access from the JSP page. Database access should be embedded in EJB that can be accessed by the JSP page. XML Tag Library - contains labels that are used to access the XML element. Because XML is widely used in Web development, XML processing is an important feature of JSTL.

In this article, we will only make a brief introduction to the core label. We will examine a simple example to explain how to handle the data entered in the form. Before we start checking the programs, we must first see how JSTL handles expressions, JSTL's expression processing is completed by using the EL expression language, only can be used in JSP2.0. In the next section, we will examine the EL expression language.

EL Expression Language

One of the main components of JSP2.0 is this new expression language called EL. EL is widely used in JSTL. However, it is important to remember that EL is the function of JSP instead of JSTL. The JSP Scriptlet code used in JSP 2.0 can include an EL expression. The following line code demonstrates the EL in the JSP Scriptlet code:

Your Total, Including Shipping IS $ {Total Shipping}

As you can see, Total and Shipping are added to generate HTML and display their values ​​in the browser. These expressions can also be used in the JSTL tag. An important issue for JSTL1.0 is that JSTL cannot be used on JSP1.2 versions. Because JSP1.2 does not support EL, there is a need to provide some additional JSTL tags to help EL use. For example, if you want to use JSTL to display the above expression, you can use the following code.

Your Total, Including Shipping IS

It is worth noting that JSTL does not require JSP 2.0 to run. This needs can be achieved by providing a label that can display an EL expression.

JSTL example

We will examine a simple example of using JSTL. In this example, we will examine a common process in web applications. We will see how to submit (POST) a form and process the result of the POST. The program code is as follows:

<% @ Taglib Uri = "http://java.sun.com/jstl/core" prefix = "c"%> if with body </ title> </ head></p> <p><body> <c: if test = "$ {pageContext.request.method == 'post'}> <c: if test =" $ {param.guess == 'java'}> You Guessed it! < BR /> <br /></p> <p><br /> </ c: IF></p> <p><c: if test = "$ {param.guess! = 'java'}> You are WRONG <br /></p> <p><br /></p> <p><br /> </ c: IF> </ c: if></p> <p><form method = "post"> Guess What Computer Language I am Thinking of? <input type = "text" name = "guess" /></p> <p><Input Type = "Submit" value = "try!" /></p> <p></ form> </ body> </ html></p> <p>This simple web page displays a form that requires the user to guess the computer language thinking. Of course, the computer wants "java". This page begins by checking "whether it is submitted". This makes the form and the code for processing the form can be placed in the same page. It is achieved by the following JSTL IF statement.</p> <p><c: if test = "$ {pageContext.request.method == 'post'}></p> <p>Now you have seen, the <c: if> tag uses the EL expression to determine if the request is requested is POST. If the data is POST to the page, then their guess values ​​entered by the user are stored in the parameters named "guest". This is because "guest" is the name of the form input. We must now check if this parameter is equal to "java". This is done by the following <c: if> tag:</p> <p><c: if test = "$ {param.guess == 'java'}> You Guessed it! </ c: if></p> <p>As you can see, if the expression is True, the "C: IF> label is executed. In this article, we have begun to investigate how JSTL is installed, and how it operates, and it also provides some JSTL small examples to help you understand.</p> <p>JSTL's core tags also include loop, stackers, and variable processing. By using the label, you can use itrate in Collectes, access the user's session data, perform other core tasks. In addition to the core tag library, XML, databases, and formatted label libraries also provide more advanced use.</p> <p>(END)</p> <p>Note: El Expression Language is translated into an EL expression language, some is translated into EL expression language, it is a meaning.</p> <p>Translated by caiyi0903 (Willpower), 2004.2.19</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-24914.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="24914" 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.037</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 = '_2FxQ3zRzcktRHkPSCFoM7p8a3fz1TZaOfuesVMny8UJcgPb0yXJisAELqqVD09vhUZ5c9MYn_2F_2BmE_2BDNG7q496Wg_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>