Action文件:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.vaannila;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.util.LabelValueBean;
import org.apache.struts.util.MessageResources;
/**
*
* @author eswar@vaannila.com
*/
public class LoginAction extends org.apache.struts.action.Action {
/* forward name="success" path="" */
private final static String SUCCESS = "success";
private final static String FAILURE = "failure";
/**
* This is the action called from the Struts framework.
* @param mapping The ActionMapping used to select this instance.
* @param form The optional ActionForm bean for this request.
* @param request The HTTP Request we are processing.
* @param response The HTTP Response we are processing.
* @throws java.lang.Exception
* @return
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginForm loginForm = (LoginForm) form;
MessageResources messageResources = getResources(request);
String s1 = messageResources.getMessage("t");
String[] strList = s1.split(",");
List<LabelValueBean> valueBeans = new ArrayList<LabelValueBean>();
for (String key : strList) {
System.out.println("key : "+key+" value : "+messageResources.getMessage(key));
valueBeans.add(new LabelValueBean(messageResources.getMessage(key),key));
}
request.setAttribute("mtypelist", valueBeans);
if (loginForm.getUserName().equals(loginForm.getPassword())) {
return mapping.findForward(SUCCESS);
} else {
return mapping.findForward(FAILURE);
}
}
}
-------------------------------------
javaForm文件:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.vaannila;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
/**
*
* @author eswar@vaannila.com
*/
public class LoginForm extends org.apache.struts.action.ActionForm {
private String userName;
private String password;
private String timeId;
/**
*
*/
public LoginForm() {
super();
// TODO Auto-generated constructor stub
}
/**
* This is the action called from the Struts framework.
* @param mapping The ActionMapping used to select this instance.
* @param request The HTTP Request we are processing.
* @return
*/
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if (userName == null || userName.length() < 1) {
errors.add("userName", new ActionMessage("error.userName.required"));
// TODO: add 'error.name.required' key to your resources
}
if (password == null || password.length() < 1) {
errors.add("password", new ActionMessage("error.password.required"));
// TODO: add 'error.name.required' key to your resources
}
return errors;
}
/**
* @return the userName
*/
public String getUserName() {
System.out.println("Inside getter "+userName);
return userName;
}
/**
* @param userName the userName to set
*/
public void setUserName(String userName) {
System.out.println("Inside setter "+userName);
this.userName = userName;
}
/**
* @return the password
*/
public String getPassword() {
return password;
}
/**
* @param password the password to set
*/
public void setPassword(String password) {
this.password = password;
}
public String getTimeId() {
return timeId;
}
public void setTimeId(String timeId) {
this.timeId = timeId;
}
}
-------------------------
资源文件:
t=t1,t2,t3,t4,t5,t6,t7
t1=hour
t2=day
t3=week
t4=tttt4
t5=tttt5
t6=tttt6
t7=tttt7
--------------------------------------
jsp文件:
<%--
Document : success
Created on : Dec 15, 2008, 4:08:53 AM
Author : eswar@vaannila.com
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<script type="text/javascript">
function showImage(value){
alert(value);
}
</script>
</head>
<body>
<h1>Login Success. Welcome <bean:write name="LoginForm" property="userName"></bean:write></h1>
<html:select name="LoginForm" property="timeId" onchange="showImage(this.value)">
<!--mtypelist为request中设置的属性值 labelProperty="label" property="value"固定写法-->
<html:options collection="mtypelist" labelProperty="label" property="value" />
</html:select>
</body>
</html>
分享到:
相关推荐
【C++小小代码】这个标题暗示我们即将探讨的是关于C++编程语言的一些基础或进阶概念。C++是一种强类型、静态类型的通用编程语言,它继承了C语言的高效性和灵活性,并加入了面向对象编程(OOP)的概念。下面,我们将...
《小小黑客代码》这个资源,正如其名,是为那些对编程和黑客技术充满好奇的人们准备的。它提供了一个研究代码的平台,适合初学者和有一定基础的开发者进行学习和参考。在这个压缩包中,我们可以看到一个名为“小小...
小小消防员.zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码小小消防员.zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码小小消防员.zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码小小消防...
【标题】"小小黑客之路代码(无毒版)"所指的是一个专门为初学者或者对网络安全感兴趣的用户设计的学习资源,它提供了安全编程和黑客技术的基础代码示例。这个无毒版本确保了用户在学习过程中不会受到恶意软件或病毒的...
关于旅游的小小代码,希望朋友们借鉴下,帮我修改修改,真心希望
【小小浏览器源代码】是一个基于网络通信类的项目,提供了基本的浏览器功能,包括连接、前进、后退、刷新和返回主页等操作。这个源代码是对于初学者和开发者了解浏览器工作原理,以及实践网络通信编程的一个宝贵资源...
小小记事本(C#代码编写) 小小记事本是仿Woindow记事本的程序,功能同Woindow记事本, 代码基本完善。运行在FrameWork2.0平台以上。 本程序经多次调试,可以使用。如有bug,请与我联系,谢谢。
【标题】"小小播放器+源代码"是一个包含源代码的音乐播放软件项目,它具有丰富的功能和学习价值。这款播放器设计小巧但功能强大,不仅能够播放歌曲,还提供了多样的个性化设置,如调音、更换皮肤以及调整界面的透明...
在本实验课程中,我们将深入探讨“小小图书馆”这一C++项目,这是一份源代码实现的简单图书管理系统。这个系统旨在帮助用户管理个人或小型图书馆的书籍信息,包括添加、删除、查找和借阅图书的功能。通过学习和实践...
俩游戏角色,初始经验 初始血的数量 经过打斗最后判断打斗次数及输赢。代码比较简单,适合java初学者。
通过研究《小小冒险岛》的源码,学习者不仅可以掌握C语言的基本语法,还能深入了解游戏开发流程,学习到如何将抽象概念转化为可执行的代码,这对于提升编程能力和理解计算机科学原理非常有帮助。同时,通过模仿和...
这个“小小矩阵计算器”的源代码提供了一个学习和理解矩阵运算的平台。源代码通常是由编程语言编写的,可能包括C++, Python, Java等,通过它可以深入理解算法的实现细节。 矩阵是由有序数组组成的矩形阵列,其运算...
用C写的代码,大家用visual c++打开后调试,可以看到流星雨效果
JSP文件通常包含HTML代码和嵌入的Java代码,这些Java代码可以访问服务器端的对象,如数据库连接池、session对象等,来执行业务逻辑。 用户登录和注册功能是这个留言板的核心部分。登录过程通常涉及到验证用户名和...
标题中的“vue学习代码小小的案例”指的是使用Vue.js进行的一些简单示例项目,通常这样的案例会包含基础的Vue概念和用法,帮助初学者快速上手。描述中提到的是这个案例作为入门Vue的基础,适合学习者了解和实践。 ...
小小代码;学习学习!” 该聊天程序是基于Java Web技术实现的,主要利用了JSP(JavaServer Pages)、Servlet、HTML和JavaScript这四种技术。下面将详细介绍这些技术及其在聊天程序中的应用。 1. JSP(JavaServer ...
《小小计时器-自动关机》是一款专为编程初学者设计的简易软件项目,它包含VB(Visual Basic)编程语言的源代码,适合新手学习和实践。通过这个项目,初学者可以了解到如何利用VB来编写一个具有定时功能并能执行自动...
这个"VB ADODB 小小和代码.rar"压缩包包含的资源可能是一系列示例代码,帮助开发者理解如何利用ADODB进行数据库操作。下面我们将深入探讨其中涉及的几个重要知识点: 1. **VB ADODB 数值平均值**: 在VB中,计算...
【标题】:“人人网小小战争辅助工具分析” 这篇博客文章主要探讨了针对“人人网小小战争”游戏的一个辅助工具的内部工作原理和技术实现。在这个分析中,我们将深入了解这个工具所涉及的关键技术点,包括源码解析、...
25--[小小企鹅].zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码25--[小小企鹅].zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码25--[小小企鹅].zip源码scratch2.0 3.0编程项目源文件源码案例素材源...