3,struts2_3_struts2的helloworld

原创 2017年01月03日 21:08:53

首先配置好基本的环境
1,编写页面:
index.jsp

<body>
<a href="product_input.action">to product_input</a>
</body>

input.jsp

<body>

<form   action="product_create.action" method="post">
productName:<input type="text" name="productName">
<br>
productPrice:<input type="text" name="productPrice">
<br>
productDest<input type="text" name="productDest">
<br>
<input type="submit" value="submit">
</form>
input page
</body>

details.jsp

<body>

productid:${id}
<br/>
productName:${productName}
<br/>
productPrice:${productPrice}
<br/>
productDest:${productDest}
<br/>
details

</body>

2,编写pojo

package com.hgh.strust1.filtet;

public class Product {

    private int id;
    private String productName;
    private double productPrice;
    private String productDest;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getProductName() {
        return productName;
    }
    public void setProductName(String productName) {
        this.productName = productName;
    }
    public double getProductPrice() {
        return productPrice;
    }
    public void setProductPrice(double productPrice) {
        this.productPrice = productPrice;
    }
    public String getProductDest() {
        return productDest;
    }
    public void setProductDest(String productDest) {
        this.productDest = productDest;
    }
    public Product() {
        super();
        // TODO Auto-generated constructor stub
    }
    @Override
    public String toString() {
        return "Product [id=" + id + ", productName=" + productName
                + ", productPrice=" + productPrice + ", productDest="
                + productDest + "]";
    }

    public String save() {
        System.out.println("save:"+this);
        return "details";
    }


}

3,编写strust.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
    <!--  
        package: 包. struts2 使用 package 来组织模块. 
        name 属性: 必须. 用于其它的包应用当前包. 
        extends: 当前包继承哪个包, 继承的, 即可以继承其中的所有的配置. 通常情况下继承 struts-default
                 struts-default 这个包在 struts-default.xml 文件中定义.
        namespace 可选, 如果它没有给出, 则以 / 为默认值. 
                                若 namespace 有一个非默认值, 则要想调用这个包里的Action, 
                                就必须把这个属性所定义的命名空间添加到有关的 URI 字符串里

                  http://localhost:8080/contextPath/namespace/actionName.action
    -->
    <package name="product" extends="struts-default">
    <!-- 
            配置一个 action: 一个 struts2 的请求就是一个 action 
            name: 对应一个 struts2 的请求的名字(或对一个 servletPath, 但去除 / 和扩展名), 不包含扩展名
            class 的默认值为: com.opensymphony.xwork2.ActionSupport
            method 的默认值为: execute
            result: 结果. 
        -->
        <action name="product_input">
            <result>/WEB-INF/views/input.jsp</result>
        </action>
        <action name="product_create" class="com.hgh.strust1.filtet.Product" method="save">
        <!--  
                result: 结果. 表示 action 方法执行后可能返回的一个结果. 所以一个 action 节点可能会有多个 result 子节点.
                多个 result 子节点使用 name 来区分
                name: 标识一个 result. 和 action 方法的返回值对应. 默认值为 success
                type: 表示结果的类型. 默认值为 dispatcher(转发到结果.)
            -->
            <result name="details">/WEB-INF/views/details.jsp</result>
        </action>
    </package>

</struts>

4,web.xml,其实应该第一步就配置好

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">

    <!-- 配置 Struts2 的 Filter -->
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

</web-app>

笔记

1. VS 自实现:

1). 搭建 Struts2 的开发环境

2). 不需要显式的定义 Filter, 而使用的是 struts2 的配置文件. 

3). details.jsp 比先前变得简单了.

${requestScope.product.productName} -> ${productName}

4). 步骤:

I.  由 product-input.action 转到 /WEB-INF/pages/input.jsp

    在 struts2 中配置一个 action

    <action name="product-input">
        <result>/WEB-INF/pages/input.jsp</result>
    </action>

II. 由 input.jsp 页面的 action: product-save.action 到 Product's save, 再到  /WEB-INF/pages/details.jsp

    <action name="product-save" class="com.atguigu.struts2.helloworld.Product"
        method="save">
        <result name="details">/WEB-INF/pages/details.jsp</result>  
    </action>

    在 Prodcut 中定义一个 save 方法, 且返回值为 details
版权声明:本文为博主原创文章,未经博主允许不得转载。

Android Studio HelloWorld

开发第一应用 可以开发属于自己的应用,是否有点小激动?好吧!让我们开始,首先点击Start a new Android Studio Project创建工程: 接下来需要输入应用名称(第一个字...
  • qq_35038153
  • qq_35038153
  • 2017年08月28日 23:28
  • 490

python初步(打印HelloWorld!)

1. 新建一个项目,选择安装的解释器2. 新建一个python文件在项目中右键new一个新的python文件。 3. 编写代码4. 配置运行点击【run】-> 【Edit Configuratio...
  • hyj2568259226
  • hyj2568259226
  • 2016年08月17日 22:11
  • 802

Python3 (入门1) HelloWorld

Python3 入门1 HelloWrold / 基本入门语法 / etc
  • Rozol
  • Rozol
  • 2017年04月01日 19:07
  • 860

Android新手入门2016(1)--创建和运行helloworld

我是新手,但不是第一次接触了。陆陆续续做了一些东西,还写过一些小游戏。不过都是直接用cocos2d-x的多。 从现在起开始学习学习吧。不为什么,因为穷!!! 之前本来带过一个手游项目,其实还没立项,就...
  • u012175089
  • u012175089
  • 2016年03月04日 18:23
  • 2937

Linux下终于写出了HelloWorld了

今天我终于写出了helloWorld!这是每一个程序员的起点,呵呵!学会的命令:Here Compile:gcc souce.c -o targetHere Run:./targetGet Path:...
  • YouYunnetyang
  • YouYunnetyang
  • 2005年07月22日 23:28
  • 583

android studio写一个helloworld项目

用android studio写一个helloworld项目; start a new android studio之后一直停留在building gradle project info,解决方法; ...
  • JSY1997
  • JSY1997
  • 2017年07月09日 20:19
  • 2634

scala 常见问题

在idea中 使用 scala version 2.9.3,报错 Error:object scala.reflect.ClassManifest not found. ......
  • escaflone
  • escaflone
  • 2014年11月06日 10:28
  • 8593

IntelliJ IDEA 中创建HelloWorld项目示例

学习阶段,估计只是用到Java的jdk就够了,用IntelliJ IDEA编辑器搭建个简单的开发环境,来搞一些简单的Java测试还是可以的。 我就详详细细的给附上每个步骤的图,来示范一下HelloW...
  • u013067598
  • u013067598
  • 2017年02月06日 13:49
  • 2909

Hadoop入门之Hadoop中的HelloWorld程序

在linux平台上执行wordcount,有官方示例,相应的jar包放在hadoop-2.0.0-cdh4.5.0\share\hadoop\mapreduce1下的hadoop-examples-2...
  • epeaktop
  • epeaktop
  • 2016年06月08日 12:22
  • 751

tensorFlow Helloworld

import tensorflow as tf matrix1 = tf.constant([[3., 3.]]) matrix2 = tf.constant([[2.], [2.]]) pro...
  • huaweitman
  • huaweitman
  • 2017年02月06日 14:09
  • 2549
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:3,struts2_3_struts2的helloworld
举报原因:
原因补充:

(最多只允许输入30个字)