我的编程空间,编程开发者的网络收藏夹
学习永远不晚

用Eclipse开发Struts实例-G

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

用Eclipse开发Struts实例-G

十、建立读取留言信息的Action

1、建立GuestBookJavaBean
package com.meixin.beans;

public class Guestbook
{
  private int id;

  private String name;

  private String email;

  private String url;

  private String content;

  private String title;
    
  private String time;

  public String getTime()
  {
    return time;
  }

  public void setTime(String time)
  {
    this.time = time;
  }

  //id是主键,不提供set方法
  public int getId()
  {
    return id;
  }

  public String getName()
  {
    return name;
  }

  public void setName(String name)
  {
    this.name = name;
  }

  public String getEmail()
  {
    return email;
  }

  public void setEmail(String email)
  {
    this.email = email;
  }

  public String getUrl()
  {
    return url;
  }

  public void setUrl(String url)
  {
    this.url = url;
  }

  public String getContent()
  {
    return content;
  }

  public void setContent(String content)
  {
    this.content = content;
  }

  public String getTitle()
  {
    return title;
  }

  public void setTitle(String title)
  {
    this.title = title;
  }

}
2、读取留言的Action
package com.meixin.struts.action;

import java.sql.SQLException;
import java.util.List;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
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 com.meixin.beans.Guestbook;

public class ReadAction extends Action
{
  public ActionForward execute(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response)
  {
    // 读取留言的SQL语句,以id降序排列,后发的留言先显示
    String sql = "select * from guestbook order by id desc";
    try
    {
      // 建立上下文对象,初始化
      Context context = new InitialContext();
      // 获取数据源,在Tomcat中的context.xml中设置的数据源名字要一样
      DataSource ds = (DataSource) context
          .lookup("java:/comp/env/jdbc/mssqlds");
      // 获取数据库的连接
      // ds.getConnection();
      // 用QueryRunner封装数据源,这个类完成了许多数据库的操作
      QueryRunner qr = new QueryRunner(ds);
      

      List list = (List) qr.query(sql, new BeanListHandler(
          Guestbook.class));

      for(int i = 0;i<list.size();i++)
      {
        System.out.println(((Guestbook)list.get(i)).getName());
      }
      // 用request.setAttribute()将结果传入到JSP页面中
      request.setAttribute("list", list);
    }
    catch (NamingException e)
    {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    catch (SQLException e)
    {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    
    //转向forward值为guestbook.display对应的页面
    return mapping.findForward("guestbook.display");
  }
}

 

十一、建立display.jsp文件
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
  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>显示留言</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">
    <!--
  <link rel="stylesheet" type="text/css" href="styles.css">
  -->
  </head>
  <body>
    <!-- 用c:forEach循环输出在Action中setAttribute()方法传来的list中的值 -->
    <c:forEach items="${requestScope.list }"
      var="article">
      <c:out value="${article.id}"></c:out>
      <c:out value="${article.name}"></c:out>
      <c:out value="${article.email}"></c:out>
      <c:out value="${article.url}"></c:out>
      <c:out value="${article.title}"></c:out>
      <c:out value="${article.content}"></c:out>
      <c:out value="${article.time}"></c:out>
      <br>
      <br>
    </c:forEach>
    <br>
  </body>
</html>
十二、读取留言的结果

 

十三、在保存留言后自动进入读取留言页面

1、建立forward

2、struts-config.xml内容如下

 

已在struts-config.xml加入了以下代码
<?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="inputForm"
      type="org.apache.struts.validator.DynaValidatorForm">
      <form-property name="title" type="java.lang.String" />
      <form-property name="content" type="java.lang.String" />
      <form-property name="url" type="java.lang.String" />
      <form-property name="email" type="java.lang.String" />
      <form-property name="name" type="java.lang.String" />
    </form-bean>

  </form-beans>

  <global-exceptions />
  <global-forwards>
    <forward name="guestbook.display" path="/form/display.jsp" />
    <forward name="guestbook.read" path="/read.do" redirect="true" />

  </global-forwards>

  <action-mappings>
    <action attribute="inputForm" input="/form/input.jsp"
      name="inputForm" path="/input" scope="request"
      type="com.meixin.struts.action.InputAction" />
    <action name="readForm" path="/read"
      type="com.meixin.struts.action.ReadAction" />

  </action-mappings>

  <message-resources
    parameter="com.meixin.struts.ApplicationResources" />
  <!-- 加入Struts的一个插件,对表单进行验证,这里只能手动添加 -->
  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames"
      value="/org/apache/struts/validator/validator-rules.xml,/WEB-INF/validations.xml" />
  </plug-in>
</struts-config>

 

3、修改InputAction.java文件

 

//保存后自动转向到读取留言页面
return mapping.findForward("guestbook.read");

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

用Eclipse开发Struts实例-G

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

用Eclipse开发Struts实例-G

十、建立读取留言信息的Action类1、建立GuestBook的JavaBean类package com.meixin.beans; public class Guestbook {   private int id;   private
2023-01-31

使用Eclipse来开发python脚本

一、安装python1.访问https://www.python.org/downloads/,可以看到如下图所示界面2.点击上图的"Download",可以看到如下图所示的界面:3.下载python-2.7.14.amd64.msi文件到
2023-01-31

如何使用Eclipse开发Java应用

这篇文章主要介绍“如何使用Eclipse开发Java应用”,在日常操作中,相信很多人在如何使用Eclipse开发Java应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Eclipse开发Java应用
2023-06-04

怎么用Eclipse进行ABAP开发

这篇文章主要讲解了“怎么用Eclipse进行ABAP开发”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Eclipse进行ABAP开发”吧!ABAP Development Tools,
2023-06-04

Eclipse+Web3j开发以太坊应用

在我们的web3j以太坊开发课程中,预置代码是在终端命令行使用gradle进行构建的。如果希望在熟悉的Eclipse中开发web3j以太坊应用,这个快速教程将告诉你如何进行配置。我们将分为6个步骤来介绍如何在Eclipse中使用Gradle
2023-01-31

AndroidService开发应用实例

Android的服务是开发Android应用程序的重要组成部分。不同于活动Activity,服务是在后台运行,服务没有接口,生命周期也与活动Activity非常不同。通过使用服务我们可以实现一些后台操作,比如想从远程服务器加载一个网页等,下面来看看详细内容,需要的朋友可以参考下
2022-12-16

Android开发笔记 最好使用eclipse

值得注意一点的是,虽然Myeclipse比eclipse功能更强大,但是在具体的安卓开发过程当中,最好还是选用eclipse,sdk跟eclipse的兼容性更好,用Myeclipse的话容易出现各种小问题,如不能自动生成R文件等,晚上我就遇
2022-06-06

k3cloud开发实例

开发工具        Visual studio 2012        IE插件Silverlight5        SQLServer 2008R2 或 Oracle 11G R2        跟踪工具(HttpWatchPro6
2023-01-31

Java Web应用开发环境配置Eclipse+Tomcat+Lomboz的示例分析

这篇文章主要介绍Java Web应用开发环境配置Eclipse+Tomcat+Lomboz的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. Java环境安装下载j2sdk-1_4_2_13-windows
2023-06-03

Java Web应用开发环境配置Eclipse+Tomcat+Myeclispe的示例分析

这篇文章给大家分享的是有关Java Web应用开发环境配置Eclipse+Tomcat+Myeclispe的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. Java环境安装下载j2sdk-1_4_2_
2023-06-03

android开发环境怎么利用eclipse搭建

今天就跟大家聊聊有关android开发环境怎么利用eclipse搭建,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1,下载JDK去oracle官网下载最新版本的jdk根据自己的操作系
2023-05-31

怎么用Eclipse+Pydev配置Python开发环境

本篇内容主要讲解“怎么用Eclipse+Pydev配置Python开发环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Eclipse+Pydev配置Python开发环境”吧!之前有人问
2023-06-17

Android开发之Service用法实例

本文实例讲述了Android开发之Service用法。分享给大家供大家参考。具体分析如下: Service是一个生命周期较长而且没有界面的程序。 下面通过一个播放mp3的例子来学习。 先看MainActivity.javapackage c
2022-06-06

Android开发之ViewSwitcher用法实例

本文实例讲述了Android开发之ViewSwitcher用法。分享给大家供大家参考,具体如下: android.widget.ViewSwitcher是ViewAnimator的子类,用于在两个View之间切换,但每次只能显示一个View
2022-06-06

spring3+mbatis3开发实例

最近一直在深入了解struts2,spring,hibernate以及mybatis框架,通过查看这些框架的源码和官方文档,发现自己对于这些框架的原理,使用有了更深的理解,那么今天我给大家带来的是运用spring和mybatis这两个框架来
2023-01-31

使用Eclipse配置android开发环境教程

1.下载需要用到的工具:(1)下载JAVA的IDE开发工具 Eclipse到Eclipse官方网站下载Ecplise For Java EE的最新Windows版本下载页面地址: http://www.eclipse.org/downloa
2022-06-06

怎么用Eclipse在Fedora上进行PHP开发

本篇内容介绍了“怎么用Eclipse在Fedora上进行PHP开发”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Eclipse 是由 Ecl
2023-06-16

使用nodejs开发cli项目实例

1.分分钟使用默认选项安装完nodejs 2.分分钟使用sudo npm install -g yo安装完yeoman 3.通过sudo npm install -g generator-cli-starter安装cli开发脚手架 OK,
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录