Struts drop-down frame

zhaozj2021-02-16  40

Struts drop-down frame

[the goal]

This example is based on the previous example "The Skyst Struts Program" (see "How to implement the simplest struts program"), its goal is to implement a drop-down input box in the input page, in the output page Show the drop-down input box is selected.

The project is expanded on the basis of the previous Simple project, and it is of course a new project.

[effect]

Enter the page:

Output page:

[background knowledge]

[step]

1. Run JavaWebStudio to open the Simple project:

Select menu: "File" - "Open Project", select the simplest Struts program item Simple directory, open the project via Simple.PRJ project file.

2, open the helloword.jap file:

Open the helloword.jap file from the JavaWebStudio file manager, then switch to the toolbar, select the Struts tab, drag the "SELECT tab" to the code editing window (or Web Visual Edit window).

Right-click on the code editing window:

Select a refresh view, the web visual editing window is refreshed, as shown below:

3, join the bean variable:

In the Web Visual Edit window, the mouse light is shifted to the drop-down list box and click the right mouse button, select "Add Bean Variable", add the bean variable "SELECT" (you can also click the right mouse in HelloWordform.java) Operation):

HelloWordform.java automatically joins the SELECT variable and setSelec () and getSelect () functions (code of the black body part).

Package EmptyPRJ;

Import javax.servlet.http.httpservletRequest;

Import org.apache.struts.Action.Actionerror;

Import org.apache.struts.Action.Actionerro;

Import org.apache.struts.Action.actionform;

Import org.apache.struts.action.actionmapping;

Public Final Class HelloWordForm Extends Actionform

{

PRIVATE STRING SELECT;

Private string mybeanvariable1;

// myfiledata;

Public string getMyBeanvariable11 ()

{

Return (this.mybeanvariable1);

}

Public void setMyBeanvariable1 (String MyBeanvariable1)

{

THIS.MYBEANVARIABLE1 = MyBeanVariable1;

}

Public void setSelect (String newselect)

{

SELECT = newselect;

}

Public String getSelect ()

{

Return SELECT;

}

}

}

Replenishing the code of the black body part in the HelloWord.jsp file (other code is automatically generated):

<% @ page contenttype = "text / html; charset = GB2312" Language = "java"%>

<% @ Taglib URI = "/ Web-INF / STRUTS-Bean.TLD" prefix = "bean"%> <% @ Taglib URI = "/ Web-INF / STRUTS-HTML.TLD" prefix = "html"%>

<% @ Taglib URI = "/ Web-INF / STRUTS-LOGIC.TLD" prefix = "logic"%>

<% @ Taglib URI = "/ Web-INF / STRUTS-TEMPLATE.TLD" prefix = "template"%>

</p> <p></ title></p> <p><</p> <p>Meta</p> <p>http-equiv = content-type content = "text / html; charSet = GB2312"></p> <p></ hEAD></p> <p><body bgcolor = white></p> <p><html: base /> <html: form method = "pos"</p> <p>Action = "/ hellowordaction.do"></p> <p><HTML: Text Property = "MyBeanVariable1" /></p> <p><HTML: Select Property = "SELECT"></p> <p><html: option value = "first"> first </ html: option></p> <p><html: option value = "second item"> second item </ html: option></p> <p><html: option value = "third item"> third item </ html: option></p> <p></ html: select></p> <p><html: submit value = "submit" /> <html: reset value = "rewrite" /></p> <p></ html: form></p> <p></ body></p> <p></ html: html></p> <p>Add the SELECT Variable Output Tags in the HelloWordout.jsp file <bean: Write Name = "HelloWORM" Property = "SELECT" />, that is, the code of the black body part in the HelloWordOut.jsp file (other code is automatically generated) :</p> <p><% @ page contenttype = "text / html; charset = GB2312" Language = "java"%></p> <p><% @ Taglib Uri = "/ Web-INF / STRUTS-Bean.tld" prefix = "bean"%></p> <p><% @ Taglib URI = "/ Web-INF / STRUTS-HTML.TLD" prefix = "html"%></p> <p><% @ Taglib URI = "/ Web-INF / STRUTS-LOGIC.TLD" prefix = "Logic"%> <% @ Taglib URI = "/ Web-INF / STRUTS-TEMPLATE.TLD" prefix = "Template"%></p> <p><html: html></p> <p><HEAD></p> <p><title> </ title></p> <p><HTML: BASE /></p> <p></ hEAD></p> <p><body bgcolor = "white"></p> <p><html: html></p> <p><HEAD></p> <p><title> </ title></p> <p><HTML: BASE /></p> <p></ hEAD></p> <p><body bgcolor = "white"></p> <p><bean: write name = "HelloWordform" property = "mybeanvariable1" /></p> <p><p> </ p></p> <p><bean: write name = "hellowordform" property = "select" /></p> <p></ body></p> <p></ html: html></p> <p></ body></p> <p></ html: html></p> <p>Look at the contents of the configuration file struts-config.xml, in the JavaWebStudio integrated development environment, struts-config.xml is generally configured, so don't write code yourself:</p> <p><? Xml Version = "1.0" encoding = "ISO-8859-1"?></p> <p><! DocType struts-config public PUBLIC</p> <p>"- // Apache Software Foundation // DTD Struts Configuration 1.0 // En"</p> <p>"http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd"></p> <p><struts-config></p> <p><form-beneans></p> <p><form-bean name = "HelloWordform"</p> <p>TYPE = "EMPTYPRJ.HELLOWORM" /></p> <p></ form-beans></p> <p><action-mappings></p> <p><action path = "/ hellowordaction"</p> <p>TYPE = "EMPTYPRJ.HELLOWORDACTION"</p> <p>Name = "HelloWordform"</p> <p>Scope = "session"</p> <p>Input = "/ helloword.jsp"></p> <p><forward name = "success" path = "/ hellowordout.jsp" /> </ action></p> <p></ action-mappings></p> <p></ Struts-Config></p> <p>4, compile, start the server:</p> <p>5, start the server:</p> <p>Click the Start Server button on the toolbar or select the menu "Run" - Start the server launch the server Jakarta-Tomcat server. The content is as follows: Click on the Compile button on the toolbar or select the menu "Generate" - "Compile" Start Project Compile. The compilation process and the result is displayed in the output column.</p> <p>The output results indicate that the projects set by using ANT Compilation Build.xml have been successful. Copy the compilation result into the Tomcat server webapps directory and generate the package file Simple.war.</p> <p>6, run:</p> <p>Open the HelloWord.jap file, click the Run button or selection menu on the toolbar or select the "-" Run (web browse) "At this time, open the results of the HelloWord.jsp.</p> <p>Enter "Select" in the input box in the Run Results page, and select "Second Item" in the drop-down box, then click the "Submit" button, then forward to the hellowordout.jsp file, the HelloWordout.jsp page output "Select" The word, the second line outputs "second item" in the selection result.</p> <p>*********************************************************** *****************************</p> <p>[Extension part]</p> <p>The above is to implement the data fill of the drop-down list box by manually writing <html: option />, which is easy to understand, easy to implement, but disadvantages cannot dynamically populate data from the server (eg from the database Data is filled), and the other is when there are multiple output pages using the same drop-down list box, each landlord must handle a data fill, nor well maintained. The drop-down list box will be filled in the way in the way, to solve the above problems.</p> <p>Modify the HelloWordAction.java file:</p> <p>First join:</p> <p>Import java.util.list;</p> <p>Import java.util.arraylist;</p> <p>Then join:</p> <p>List mylist = new arraylist ();</p> <p>MyList.Add ("first");</p> <p>MyList.Add ("second item");</p> <p>MyList.Add ("third item");</p> <p>Request.setattribute ("MyList", MyList);</p> <p>Modify the helloword.jsp file:</p> <p>Put the original content:</p> <p><HTML: Select Property = "SELECT"></p> <p><html: option value = "first"> first </ html: option></p> <p><html: option value = "second item"> second item </ html: option></p> <p><html: option value = "third item"> third item </ html: option></p> <p></ html: select></p> <p>Rewriting:</p> <p><HTML: Select Property = "SELECT"></p> <p><html: options name = "mylist" /></p> <p></ html: select></p> <p>Finally compile, start the server, run the helloword.jsp file, but the following error appears:</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-25862.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="25862" 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 = 'TFiO_2FJoX6Lv_2FdE95EG7hhJbfqxBDI42nNIEw3xAhdCSXLSnMiQHosRduKPNaBXb5RikWTYcChjhV4Tgpcj4cPQ_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>