其实我只是刚看了这很老的东西,为了加强一下记忆,这种方法是比较原始了,你还可以使用Struts标签,呵呵!在开发中,建议使用Struts标签。
public class User {
private String name;
private int age;
private String sex;
private String profile;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getProfile() {
return profile;
}
public void setProfile(String profile) {
this.profile = profile;
}
}
public class out extends ActionSupport{
private String name;
private User user;
public String print(){
System.out.println("user.Name="+user.getName());
System.out.println("user.Sex="+user.getSex());
System.out.println("user.Profile="+user.getProfile());
this.addFieldError("name", user.getName());
return "pas";
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
在这里我采用了绝对路径,其实我个人觉得如果你对路劲不是很熟悉的话就用绝对路劲,对页面中“<base href="<%=basePath%>">“和“String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
”我就不多做解释了,加上他们就可以使用绝对路径了。
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<a href="ma/hello!print?a=8080&user.name=kin">page</a>
bbb <br>
<form action="ma/hello!print" method="post">
<p>性别:
<label>
<input type="radio" name="user.sex" value="男" checked="checked" />
男</label>
<label>
<input type="radio" name="user.sex" value="女" />
女</label>
<br />
</p>
姓名: <input type="text" name="user.name"></input> <br />
详细信息:<textarea name="user.profile" cols="100" rows="4"></textarea>
<input type="submit" value="submit"/>
<input type="reset" value="reset"/></form>
</body>
</html>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.i18n.encoding" value="GBK" />
<package name="ma" namespace="/ma" extends="struts-default">
<action name="hello" class="pout.out">
<result>/index.jsp</result>
<result name="pas">/port/page.jsp</result>
</action>
</package>
</struts>
分享到:
相关推荐
在登录实现中,Struts2负责接收JSP页面传递过来的登录信息,通过Action类处理请求,进行验证,然后返回相应的结果到视图层。 3. **数据库操作(MySQL)**: MySQL是一个流行的开源关系型数据库管理系统,用于存储和...
9. **校验机制**:Struts2提供了内置的校验框架,可以在Action级别或字段级别进行数据校验,通过注解或XML配置文件定义校验规则。 10. **插件体系**:Struts2拥有丰富的插件库,可以方便地扩展功能,如JSON支持、...
在Struts2中,你可以将这个字段声明为Action类的一个属性,并添加对应的getter和setter方法。 5. **自定义配置**:CKEditor支持大量的配置选项,允许你定制编辑器的外观和行为。例如,你可能想改变工具栏的布局或...
Action类则负责处理这些表单提交,执行相应的业务逻辑,并通过ValueStack将结果传递给JSP页面展示。 2. **Hibernate框架**:Hibernate提供了一种在Java应用程序中管理和持久化数据的方式,通过ORM映射将Java对象与...
这些文本在验证失败时显示给用户,例如`errors.required`表示字段必填,`errors.minlength`和`errors.maxlength`分别表示字段长度不足和超出限制。 通过以上步骤,我们就配置好了Struts1的验证框架,并对用户输入...
标题和描述中提到的知识点是关于Struts 2框架中的标签库使用,特别是与JSP相关的部分。Struts 2框架是一种基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,用于构建动态、可扩展的Web应用。其标签...
比如,`<s:textfield>`用于创建输入字段,`<s:textarea>`用于创建多行文本输入,`<s:checkbox>`和`s:radio`用于复选框和单选按钮,而`s:submit`则用于提交表单。这些标签不仅可以简化HTML代码,还支持数据验证、国际...
OGNL(Object-Graph Navigation Language)是Struts2中的表达式语言,用于在Action和视图之间传递数据。它可以方便地访问对象属性,进行条件判断和算术运算,使得数据操作更加灵活。 **数据校验** Struts2提供了...
- Struts2支持多语言环境,你可以创建资源文件(如`messages.properties`)来存储不同语言的文本,然后在Action或JSP中引用它们。 通过这个入门demo,你可以了解到如何设置Struts2的基本结构,如何编写Action,...
在本计算器项目中,Struts将扮演控制器的角色,负责接收用户请求,调用相应的业务逻辑,然后将结果传递给视图进行展示。 项目的核心组件包括: 1. **Action类**:这是业务逻辑的载体,每个Action对应一个用户操作...
UI标签包括但不限于`s:textfield`(文本字段)、`s:textarea`(多行文本框)、`s:submit`(提交按钮)、`s:checkbox`和`s:radiobutton`(复选框和单选按钮)、`s:select`(下拉列表)等。这些标签简化了HTML元素的...
- 引入Struts2标签库:在JSP页面头部添加`<%@ taglib prefix="s" uri="/struts-tags"%>`。 - 在Action中定义相关属性和方法。 - 在JSP页面中使用标签,如`s:textfield name="username"`绑定Action的username属性...
根据提供的文件信息,可以看出本文主要关注的是JSP Struts框架中的HTML标签库的使用与解析。Struts是一个基于MVC(Model-View-Controller)设计模式的开源框架,主要用于简化Web应用程序的开发过程。其中,HTML标签...
5. **Ognl(Object-Graph Navigation Language)**:Ognl是Struts2中用于表达式语言,用于在Action对象和视图之间传递数据。它支持动态属性访问,使得Action的字段可以直接在JSP页面上进行操作。 6. **插件系统**:...
7. **国际化和本地化**:Struts1支持资源文件(如`properties`文件)进行文本国际化,可以根据用户的浏览器设置提供不同的语言版本。 8. **异常处理**:通过`global-exception`标签在`struts-config.xml`中配置全局...
表单Bean与JSP页面上的表单元素相对应,用于收集和传递用户输入。 4. **JSP页面**:用户界面由JSP(JavaServer Pages)页面构成。登录界面会包含两个文本字段(用户名和密码)和一个提交按钮。使用Struts标签库(如...
5. 数据验证:利用Struts2的内置验证框架进行表单数据的校验,理解字段级和全局级验证的区别。 6. 国际化:学习如何在Struts2中实现多语言支持,通过资源文件管理不同语言的文本。 7. 使用Struts2的插件:如Struts...
在Struts1中,这一过程涉及资源文件的使用,这些文件存储了应用程序中的文本字符串,如按钮标签、错误消息和静态内容。资源文件通常以.properties为扩展名,例如`messages_en.properties`(英语)和`messages_fr....
- 用户的首选语言通常通过HTTP请求头中的`Accept-Language`字段传递。Struts1会自动检测这个字段并选择相应的资源文件。如果需要自定义行为,可以编写过滤器来处理。 6. **JSP页面中显示语言** - 在JSP页面中,...