在JSP上自动生成下拉菜单的设计外文翻译资料
2022-12-19 17:36:19
英语原文共 3 页,剩余内容已隐藏,支付完成后下载完整资料
在JSP上自动生成下拉菜单的设计
Yingyidu Xiong
宁波财经学院,中国宁波,邮箱:xyyd@yahoo.com.cn
摘要:下拉菜单广泛用于网页限制用户输入的格式或内容,如果是方便的话下拉列表的内容是固定的,目前还没有动态菜单标签。JSP自定义标记是在本文介绍,其中的下拉菜单可以从数据库中提取数据以动态生成选项。自定义标签在实际应用中具有很强的实践性。
关键词:JSP;自定义标签;下拉菜单;JSP;验收数据自动
1 导言
下拉菜单通常用于网页选择项目,如果设计者想限制用户输入在设计网页时,便经常使用下拉菜单,允许用户选择选项下拉菜单列表,而不是用户输入根据自己的意愿。下拉菜单使用的好处是统一输入数据格式,方便编程和限制输入数据的范围等等。
但是,下拉菜单的选项是固定的,而在某些软件应用程序中,通常会遇到问题如下:实际应用如何处理需要删除或在下拉列表中添加一个选项菜单?我们可以增加软件的功能:动态生成的下拉菜单选项吗?
JSP是主流动态网页设计之一语言,它现在是动态网页的设计标准。JSP标记是一组类似于HTML的网页标签,我们可以轻松实现一些我们在网页中使用JSP标记所需的函数。但是,除了JSP通用标记库之外,我们还可以程序自定义标签,实现用户个性化需求。
2 JSP定制标签的技术分析
2.1 JSP标记的功能和结构
JSP实际上是HTML和JAVA的组合技术,表示层与表达层之间的分离业务层在项目程序设计中非常重要。因此,有必要尝试不公开的Java程序网页中的代码。 但面对越来越多复杂需要现实和表现层需要完成一些复杂的功能才能完成需要一种新技术来实现,因此JSP标签便诞生了。
我们可以轻松实现无脚本设计环境XML通过使用标记库,该标签将Java代码伪装成或HTML标记来替换Java脚本。
例如,我们可以使用“if,elseif,else”标签轻松实现Java选项代码JSP页面
lt;s:if test='#parameters.school[l] == dhY'gt;大红鹰学院lt;/s:ifgt;
lt;s:elseif test=' #parameters. school [0] == nbdx'gt;宁波大学lt;/s:elseifgt;
lt;s:else gt;其他院校lt;/s:elsegt;
通过上面的代码,我们可以实现功能:根据页面显示的不同内容体现不同的学校价值。
2.2 JSP自定义标记
随着调制解调器软件的不断发展要求,JSP标准标签库已无法使用满足软件开发的需求,而定制标签即可实现各种个性化需求。
通过使用自定义标签技术,我们可以增加JSP无限的功能,我们可以制作所有项目统一的网页,我们可以增加可重用性代码。
自定义标签设计包含以下部分:
(1)JavaBean,它是程序代码的基础部分标签库:
(2)标记库配置文件(TLD):TId文件是taglib defination的缩写,也是定义的标签。该文件使用以下内容定义标记:如何加载标签的Java代码,以及标签如何工作。
除此之外,我们还必须在标签中配置标签web.xml文件。
3 动态下拉菜单实现
我已经完成了一个名为dropDownMenu的自定义标签项目“校长系统”。 它的功能是根据DataBase表动态生成下拉菜单选项,下拉选项菜单来自一个DataBase表。 当数据表已更改,因为下拉菜单会是修改本身,我们则不需要修改下拉列表每个页面都有菜单。
3.1下拉菜单标签Java代码的实现
下面是Java代码实现的部分下拉菜单:
public class DownDropMenuTag extends TagSupport {
/ / define the drop-down menu name
private String selectName =' DownDropMenu';
I I define the database table name
private String tableName;
/** define the option id of down- drop menu
corresponding to the field name of the table in the database
*/
private String colId;
/** define the option text of down-drop menu
corresponding to the field name of the table in the database
*/
private String colText;
/** do StartTag method. The method provided by
TagSupport. In a JSP program, when the' lt;' symbol IS
meeted, the doStartTag event will be triggered. */
public int doStartTag ( ) {
JspWriter out = pageContext.getOut ( );
try {
I I The SQL statement is to obtain the needed field from the
table
String SQL =' select' co lId ',' colText ' from'
tableName;
IIConnect to the database
DB Connection dbCon = new DB Connection ( );
liPut the SQL execution results into the query result set rs
ResultSet rs = dbCon.quaryData ( SQL );
out.println (' lt; select name = '' selectName ' ' gt;' );
while ( rs.next ( ) ) {
/** Put the result set rs values into the drop-down list
options in tum */
out. println (' lt; option id = '' rs. get String ( coUd ) '
' gt;' rs.getString ( colT ext ) ' lt; I option gt;' );
}
out.println (' lt; I Select gt;' );
}
catch ( Exception Ex ) { }
return this.EVAL BODY INCLUDE.
}
public void setSelectName ( String pSelectName ) {
this.selectName = pSelectName;
}
public String getSelectName ( ) {
return this.selectName.
} }
3.2 downDropMenu标记的配置
下拉菜单标签的配置要使自定义标记库重用,我们需要配置tld文件和web.xml文件。
配置TLD文件
tag tld是“taglib defination”的缩写,它是也是taglib定义。此文件定义标记的使用,以及如何加载Java代码,标签如何工作。在这系统,TLD称为ddm.tld,其代码如下:
lt;web-appgt;
lt;7 XML version =' 1' encoding =' ISO-8859-l ' 7'
lt; DOCTYFE taglib!
PUBLIC' - IISun Microsystems Inc IIDTD JSP, Tag
Library 1.21 EN'
Http: //java.sun.com I
j sptaglibrary _1_2. dtd' gt;
lt; taglib gt;
lt; tlib-version gt; 1 lt; I tlib-version gt;
lt; jsp-version gt; 1.2 lt; I jsp-version gt;
DTD I webIishort-name is the prefix name that must be labeled in JSP.
lt; short-namegt; ddm lt; I short-namegt;
llURI is the name to identify the taglib
lt; URI gt; I taglibs I ddm lt; I URI gt;
lt;taggt;
liT 0 define the the tag name after prefix
lt; namegt; downDropMenu lt; I namegt;
liThe class name which contains the package name, to
instruct the location of the label Java code
lt; tag-classgt; ddm.tag.DownDropMenuTag lt; I tag-classgt;
lt; body -contentgt; empty lt; I body -contentgt;
. lt; attributegt;
lt; namegt; selectName lt; I namegt;
/** selectName is an attribute of the tag, it must be defined
uniformly in the DownDropMenuTag.java code */
lt; requiredgt; false lt; I requiredgt;
/** The value of required property is false, which indicate
that the property is not required, so it neednt be entered
when used*/
lt; namegt; tableName lt; I namegt;
lt; requiredgt; true lt; I requiredgt;
/** The value of required property is true , which indicate
that the property is an attribute must be entered when used.
*/
lt; namegt; co lId lt; I namegt;
lt; requiredgt; true lt; I requiredgt;
lt; namegt; colText lt; I namegt;
lt; requiredgt; true lt; I requiredgt;
lt; I attributegt;
lt; I taggt;
lt; taglib gt;
在JSP中,属性被解释为Java类,可以隐式访问该值。它可以直接使用,也就是说,如果指定了标记,tablename=studenet,downdropmenutag将获取学生表中的值,以及可直接使用。这意味着你可以增加任意属性到标记。ddm.tld需要放在WEB-INF目录,确保编译DownDropMenutag类可以访问JSP容器。
3.3 downDropMenu标签的应用
我们必须在下面添加预编译指令JSP页面的开头:
lt;%@ taglib prefix ='ddm' URI =' /WEB-INF/ ddm.tld' % gt;
根据指令,编译器将找到所有web.xml中以ddm:开头的标记。 然后我们需要在所需位置添加我们需要的标签。 当标签实例化后,将执行doStartTag过程自动。下拉菜单的选项将是显示表格内的信息。
在“校长系统”项目中,因为自定义标记,动态生成下拉菜单,代码如下:
lt;ddm:downDrop
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[19857],资料为PDF文档或Word文档,PDF文档可免费转换为Word