您的位置:首页 > 编程语言 > Java开发

struts标签学习(低版本)

2010-01-27 16:30 204 查看
为了便于理解和记忆整个过程,将学过的东西贴过来。项目整体结构:




java代码如下:

ActionForm负责对数据的包装。

Code:

/*

* Generated by MyEclipse Struts

* Template path: templates/java/JavaClass.vtl

*/

package prj30.form;



import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionMapping;



/**

* MyEclipse Struts

* Creation date: 01-26-2010

*

* XDoclet definition:

* @struts.form name="regForm"

*/

public class RegForm extends ActionForm {

private String account;

private String password;

private String info;

private String hiddenInfo;

private String sex="girl";//可以通过ActionForm来设置表单的初始值。

private String home;

private String[] fav={"sing"};//可以用数组属性来存储传过来的多个同名表单元素。

private boolean interm;

private String[] books={"struts","hibernate"};



public String[] getBooks() {

return books;

}



public void setBooks(String[] books) {

this.books = books;

}



public boolean isInterm() {

return interm;

}



public void setInterm(boolean interm) {

this.interm = interm;

}



public String[] getFav() {

return fav;

}



public void setFav(String[] fav) {

this.fav = fav;

}



public String getHome() {

return home;

}



public void setHome(String home) {

this.home = home;

}



public String getSex() {

return sex;

}



public void setSex(String sex) {

this.sex = sex;

}



public String getHiddenInfo() {

return hiddenInfo;

}



public void setHiddenInfo(String hiddenInfo) {

this.hiddenInfo = hiddenInfo;

}



public String getPassword() {

return password;

}



public void setPassword(String password) {

this.password = password;

}



public String getInfo() {

return info;

}



public void setInfo(String info) {

this.info = info;

}



public String getAccount() {

return account;

}



public void setAccount(String account) {

this.account = account;

}



public ActionErrors validate(ActionMapping mapping,

HttpServletRequest request) {



return null;

}



public void reset(ActionMapping mapping, HttpServletRequest request) {

//该函数是每次提交时都会调用的 重新设置interm的值

this.interm=false;



}

}

Action负责对数据的处理和jsp界面的跳转:

Code:

/*

* Generated by MyEclipse Struts

* Template path: templates/java/JavaClass.vtl

*/

package prj30.action;



import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;



import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;



import prj30.form.RegForm;



public class RegAction extends Action {



public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

RegForm regForm = (RegForm) form;// TODO Auto-generated method stub

request.setAttribute("regForm", regForm);



return new ActionForward("/regResult.jsp");

}

}

哎,郁闷怎么没有jsp的代码格式呢!

为了对struts标签的学习,故写了一个注册表单界面和一个注册结果的界面。

Code:

<%@ page language="java" pageEncoding="gb2312"%>

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>

<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>



<html>

<head>

<title>JSP for RegForm form</title>

</head>

<body>

<html:form action="/reg" method="post">

<!-- property是元素的名称。 -->

请您输入账号(文本框):<html:text property="account"></html:text><BR>

请输入您的密码(密码框):<html:password property="password" ></html:password>

<br>

<!-- 注意:在Struts标签中,系统看到某个property,如果没有手动设置value,

就是调用个ActionFrom的get方法来设置初始值 -->

请输入您的个人信息(多行文本框):<br>

<html:textarea property="info" rows="6" cols="40"></html:textarea>

<br><html:hidden property="hiddenInfo" value="welcome 爱你一万年"></html:hidden>

<br>

请选择性别(单选按钮):<html:radio property="sex" value="boy"></html:radio>男

<html:radio property="sex" value="girl"></html:radio>女<br>

籍贯(下拉菜单):<html:select property="home" value="lfjieshi">

<html:option value="lfjieshi">陆丰碣石</html:option>

<html:option value="lfdonghai">陆丰东海</html:option>

<html:option value="lfjiazi">陆丰甲子</html:option>

</html:select><BR>

爱好(多项复选框):

<html:multibox property="fav" value="sing"></html:multibox>唱歌

<html:multibox property="fav" value="swim"></html:multibox>游泳

<html:multibox property="fav" value="playgame"></html:multibox>

<html:multibox property="fav" value="dance">跳舞</html:multibox><br>

是否会员(单选复选框):

<html:checkbox property="interm"></html:checkbox><br>

选择您喜欢的书本(多选下拉类表框):

<html:select property="books" multiple="true" size="6">

<html:option value="database">数据库</html:option>

<html:option value="struts">struts框架</html:option>

<html:option value="spring">spring框架</html:option>

<html:option value="hibernate">hibernate框架</html:option>

</html:select>

<html:submit value="提交注册信息"></html:submit>

</html:form>

</body>

</html>



Code:

<%@ page language="java" pageEncoding="gb2312"%>

<%@page import="prj30.form.RegForm"%>

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>

<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>



<html>

<head>

<title>注册处理结果界面</title>

</head>

<body>

<%RegForm regForm=(RegForm)request.getAttribute("regForm"); %>

账号:<%=regForm.getAccount() %><br>

密码:<%=regForm.getPassword() %><br>

个人信息:<%=regForm.getInfo() %><br>

隐藏的表单is:<%=regForm.getHiddenInfo() %><BR>

性别:<%=regForm.getSex() %><BR>

籍贯:<%=regForm.getHome() %><BR>

爱好:<%

String[] fav=regForm.getFav();

for(int i=0;i<fav.length;i++){

out.println(fav[i]);

}

%><br>

是否会员:<%=regForm.isInterm() %><br>

选择的书本是:<%

String[] books=regForm.getBooks();

for(int i=0;i<books.length;i++){

out.println(books[i]);

}%>

</body>

</html>



配置文件是直接使用图形界面操作的,代码贴下来有空也可以研究研究

Code:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">



<struts-config>

<form-beans >

<form-bean name="regForm" type="prj30.form.RegForm" />

</form-beans>



<global-exceptions />

<global-forwards />

<action-mappings >

<!-- attribute="regForm"

input="/reg.jsp" scope="request" -->

<action

name="regForm"

path="/reg"

type="prj30.action.RegAction" />

</action-mappings>



<message-resources parameter="prj30.ApplicationResources" />

</struts-config>



暂时搁浅!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: