Develop web applications with JavaServer Faces (3)

zhaozj2021-02-16  51

Build your own app

This part specifically tells how to create your own JavaServer Faces app step by step. The example I use is very simple, it requires the user to enter his (her) name, then click the Submit button, then the application displays a welcome information to the user.

Create the following directory structure:

C: /Tomcat4.1/webapps

Hello

SRC

Web

WEB-INF

Web.xml

Lib

Classes

The basic meaning of this directory structure is that I want to create a new application called Hello. In the Hello subdirectory, there is a SRC subdirectory, put all the Java source files inside; there is a web subdirectory, there is a web-inflicity in this directory, including the web.xml file and the other two subdirectories, respectively It is lib and classes.

Copy all JAR files in the C: / JSF-EA3 / LIB directory to the lib subdirectory we created above.

Create a web.xml file to configure our web app. When using JavaServer Faces, several configurations must be specified, such as: (1) Servlet Context Listener, (2) Servlet Mapping for the JavaServer Faces requests and (3) The above servlet mapping. The following code is a configuration file for this application.

Code 1: Web.xml

"- // Sun Microsystems, Inc.//dtd Web Application 2.3 // En"

"http://java.sun.com/dtd/web-app_2_3.dtd">

BasicServletContextListener

faces servlet

javax.faces.Webapp.Facesservlet

1

The servlet is received ->

faces servlet

/ faces / *

Create an HTML page using the JavaServer Faces tag. First we write an index.html page, this is the first page that the user enters this application. There is a super connection in this page, click it to start the application. code show as below:

Code 2: Index.html

index </ title></p> <p></ hEAD></p> <p><body></p> <p><P> click <a href="faces/index.jsp"> here </a> to start the application. </ P></p> <p><br></p> <p><hr width = "100%"></p> <p></ body></p> <p></ html></p> <p>When the user clicks "Here", the system will load "index.jsp", the code is as follows:</p> <p>Code 3: Index.jsp</p> <p><Html></p> <p><Head> <title> Hello </ title> </ head></p> <p><% @ Taglib Uri = "http://java.sun.com/jsf/html" prefix = "h"%></p> <p><% @ Taglib URI = "http://java.sun.com/jsf/core" prefix = "f"%></p> <p><body bgcolor = "white"></p> <p><H2> What is your name? </ h2></p> <p><jsp: usebean id = "usernamebean" class = "usernamebean" scope = "session" /></p> <p><f: USE_Faces></p> <p><h: form id = "helloform" formname = "Helloform"></p> <p><h: input_text id = "username"</p> <p>ModelReference = "UserNameBean.usename" /></p> <p><h: command_button id = "submit" label = "submit" CommandName = "Submit" /></p> <p></ h: form></p> <p></ f: USE_FACES></p> <p></ Html></p> <p>This JSP page has several places worth noting:</p> <p>Customized tag library. The component tag library does not require hardcoding HTML to constitute a UI component, allowing the component to be multiplexed, and Core Tag Library can make the component registration event and other behavior easier.</p> <p><JSP: Usebean> This tag is used to create an instance of a JavaBean, and its class is UserNameBean, the name is also UserNameBean. Of course, this is implemented on the server.</p> <p>The Form tag is used to represent an input form. INPUT_TEXT and Command_Button are used to represent components in the form, nested in the Form tag.</p> <p>The Input_Text tag indicates a text box that allows the user to enter a string. This marker has two properties, which are ID and modelReference, respectively. The ID attribute corresponds to this component, is optional. ModelReference represents the properties of the model object, this property saves the value of our input text box.</p> <p>Command_button represents a submission button.</p> <p>Write the model object (JavaBean component) if necessary.</p> <p>The model object bean is just like other JavaBean components: it has a set of access methods. The following code segments show the JavaBean components you want to use in our app.</p> <p>Code 4: UserNameBean.java</p> <p>Public class usrnamebean {</p> <p>String username = null;</p> <p>Public userNameBean () {</p> <p>}</p> <p>Public void setusername (String user_name) {</p> <p>UserName = user_name;</p> <p>}</p> <p>Public string getUsername () {</p> <p>Return UserName;</p> <p>}</p> <p>}</p> <p><Untired> The rest, please refer to: http://www.9cbs.net/develop/read_article.asp?id=18705 Develop web applications with JavaServer Faces (1)</p> <p>Http://www.9cbs.net/develop/read_article.asp?id=18707 Develop web applications with JavaServer Faces (2)</p> <p>Http://www.9cbs.net/develop/read_article.asp?id=18710 Develop web applications with JavaServer Faces (4)</p> <p>Http://www.9cbs.net/develop/read_article.asp?id=18712 Develop web applications with JavaServer Faces (5)</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-26943.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="26943" 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.039</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 = 'lQKNU9yKxgVsmWy1XTbS1jzZ7Inwj5xnbL0ssMw3M_2Fj2VNwQxQ_2B3cyW3E2MHlnKocCk3IUq9yWzA5S7Al6b30Q_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>