仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1424|回复: 18
打印 上一主题 下一主题

[学习教程] JAVA网页设计Struts顶用静态挑选的元素创立复选框

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:54:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你通过从书的数量和开发周期及运行速度来证明:net和ruby要比java简单。创立|静态|复选框在用户界面计划中,复选框组不如它的同类――多行选择框那样盛行。它们基础上做的是统一件事,即选择映照到单一name属性的一组选项。当在组中利用时,复选框实行的功效实践与多行选择框一样,可是它们占有的屏幕空间更多。当但愿用户在选择一个或多个选项之前可以看到一切选项的时分,这会很有优点。

  固然在选项未几的时分,多行选择框一般供应更好的不雅感,可是中选择框必需静态出现并且包括预选功效时,对企业使用程序来讲复选框组会是更好的选择。侥幸的是,利用Struts框架能够很简单地创立静态复选框组。

  在这篇文章中,我将先容一个复杂的窍门:用Struts的<html:multibox/>和<logic:iterate/>标志在使用程序的视图层出现大批条目,在本例中是JavaServerPage(JSP)。

  我先从利用复选框元素显现复杂的String[]数组入手下手,数组中包括喜玛拉雅山的巅峰高度。然后,我将创立别的一个String[]数组,包括selectedMountains,代表已选中的复选框。复选框的预选情形会在两个数组的交织中发生。假如selectedMountains的初始数组为空,那末一切复选框最后城市显现为未选中。

  创立静态复选框

  创立静态复选框的窍门包括三个次要部分:

  • 一个表单bean,包容复选框的String[]数组和暗示选中复选框的String[]数组。
  • 一个JSP,带有一个表单,在必要的时分显现复选框。
  • 一个复杂的Action类,从表单页面转到显现页面。
  请注重“Himalayas”示例十分复杂。用来添补复选框的字段应该来自更庞大的模子,好比如许的模子,它可以标识用户,并选择要显现的字段,然后把营业对象以为必要的选项事后选中。我接纳复杂的模子是为了更好地演示Struts的用户界面功效。代码示例利用JSP剧本言语是为了暗示分明。

  第1步.创立表单bean

  我先从创立Struts表单bean入手下手,它包括添补复选框所必要的信息。请注重清单1中的TestForm.java包括了两个示例String[]数组变量的getter和setter。数组mountains代暗示例复选框的全体选项,数组selectedMountains代表预选的在扫瞄器中显现为选中的元素。

  除代表初始选中的复选框,selectedMountains还代表处置表单时,由用户选中的复选框。(它只代表终极选中的元素。)当哀求页面时,会显现复选框。当我在它们之间迭代时,与selectedMountains婚配的复选框元素就是选中的元素。

  清单1显现了TestForm.java的完全代码:

  清单1.TestForm.java
  1. packagecom.strutsrecipes;importjavax.servlet.http.HttpServletRequest;importorg.apache.struts.action.ActionError;importorg.apache.struts.action.ActionErrors;importorg.apache.struts.action.ActionForm;importorg.apache.struts.action.ActionMapping;publicfinalclassCheckboxTestFormextendsActionForm{//InstanceVariables/*Mountains"pre-selected"...*/privateString[]selectedMountains={"Everest","K2","Lhotse"};/*thetentallestMountainstoiteratethrough*/privateString[]mountains={"Everest","K2","Kangchenjunga","Lhotse","Makalu","KangchenjungaSouth","LhotseMiddle","KangchenjungaWest","LhotseShar","ChoOyu"};/*GetterforselectedMountains*/publicString[]getSelectedMountains(){returnthis.selectedMountains;}/*SetterforselectedMountains*/publicvoidsetSelectedMountains(String[]selectedMountains){this.selectedMountains=selectedMountains;}/*Getterforthemountains*/publicString[]getMountains(){returnthis.mountains;}/*Setterforthemountains*/publicvoidsetMountains(String[]mountains){this.mountains=mountains;}}
复制代码
  第2步.编写JSP代码

  接上去,我要编写页面的JSP代码,把TestForm.java的信息传送给视图层。在编写这个代码时,关头是要把对应的Struts标志库导进JSP。清单2的JSP代码暗示的是一个复杂的表单,显现复选框中响应的框已选中:

  清单2.带有表单的JSP
  1. <%@tagliburi="http://jakarta.apache.org/struts/tags-html"prefix="html"%><%@tagliburi="http://jakarta.apache.org/struts/tags-bean"prefix="bean"%><%@tagliburi="http://jakarta.apache.org/struts/tags-logic"prefix="logic"%><%--htmlcode,etc...--><html:formaction="/FormAction"name="testForm"type="com.strutsrecipes.CheckboxTestForm"><h4><bean:messagekey="testForm.instruction"/></h4><logic:iteratename="testForm"property="mountains"id="mountain"><%--createthecheckboxandselectedattribute--><html:multiboxproperty="selectedMountains"><bean:writename="mountain"/></html:multibox><%--createthelabel,notethat"br"tagwillformatitvertically--><bean:writename="mountain"/><br/></logic:iterate><br/><html:submit/><html:reset/></html:form><%--somemorehtmlcode,etc...-->
复制代码
  注重,我用Struts<bean:message/>标志暗示文本,用<html:multibox/>暗示HTML复选框,用<logic:iterate/>标志在数组中迭代并创立响应内容。我的表单在JSP中经由过程<html:form/>标志被实例化。

  下一步是对<logic:iterate/>标志中的mountains字段举行迭代。在这么做的时分,我创立了一个变量(mountain),用它来添补复选框,并用<bean:write/>标志给它一个标签。要在复选框中创立selected属性,我要再次利用<logic:iterate/>和<html:multibox/>标志。<html:multibox/>标志中的property属性由selectedMountains字段添补。当selectedMountains即是mountain时,selectBox就是选中的。


[1][2]下一页


java也能做一些底层语言开发做的事情(难度很高,不是java顶尖高手是做不来的),
不帅 该用户已被删除
沙发
发表于 2015-1-21 16:54:15 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
因胸联盟 该用户已被删除
板凳
发表于 2015-1-30 21:21:42 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
老尸 该用户已被删除
地板
发表于 2015-2-6 16:02:06 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
再见西城 该用户已被删除
5#
发表于 2015-2-25 20:02:00 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
简单生活 该用户已被删除
6#
发表于 2015-3-4 05:34:50 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
深爱那片海 该用户已被删除
7#
发表于 2015-3-11 17:29:24 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
莫相离 该用户已被删除
8#
发表于 2015-3-19 03:38:01 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
山那边是海 该用户已被删除
9#
发表于 2015-3-27 04:10:32 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
小魔女 该用户已被删除
10#
发表于 2015-4-12 15:58:58 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
再现理想 该用户已被删除
11#
发表于 2015-4-17 03:10:41 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
若天明 该用户已被删除
12#
发表于 2015-4-18 18:15:36 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
13#
发表于 2015-4-25 15:13:51 | 只看该作者
是一种突破用户端机器环境和CPU
兰色精灵 该用户已被删除
14#
发表于 2015-4-26 11:53:31 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
飘飘悠悠 该用户已被删除
15#
发表于 2015-4-27 12:27:16 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
愤怒的大鸟 该用户已被删除
16#
发表于 2015-5-3 16:32:10 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
海妖 该用户已被删除
17#
发表于 2015-5-6 09:12:45 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
金色的骷髅 该用户已被删除
18#
 楼主| 发表于 2015-6-6 05:39:25 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
柔情似水 该用户已被删除
19#
发表于 2015-6-7 23:48:15 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-5 02:50

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表