Struts2学习第三课 Struts2详解
接着上次的课程
这次我们看struts.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-defaultstruts-default这个包在struts-default.xml文件中定义的--><package name="helloWorld" extends="struts-default" namespace="/logan"><!-- 配置action:一个struts2的请求就是一个actionname:对应一个Struts2的请求的名字,不包含扩展名 --><action name="product-input"><result>/WEB-INF/pages/input.jsp</result></action><action name="product-save" class="logan.struts.study.Product" method="save"><result name="details">/WEB-INF/pages/details.jsp</result></action></package></struts>
我们再去访问地址http://localhost:8080/Struts2-2/product-input.action
可以看到访问失败
HTTP Status 404 - There is no Action mapped for namespace [/] and action name [product-input] associated with context path [/Struts2-2].type Status reportmessage There is no Action mapped for namespace [/] and action name [product-input] associated with context path [/Struts2-2].description The requested resource is not available.Apache Tomcat/9.0.0.M15
我们访问这个地址才能访问:http://localhost:8080/Struts2-2/logan/product-input.action
action里面class的默认值是com.opensymphony.xwork2.ActionSupport
默认的执行方法时execute
result:结果,表示action方法执行后可能返回的一个结果。所以一个action节点可能会有多个result子节点。多个result子节点使用name来区分。
name:标识一个result,和cation方法的返回值对应,的默认值是success。
type:表示结果的类型,默认值为dispatcher(转发到结果)
转载于:https://www.cnblogs.com/LoganChen/p/6942304.html
Struts2学习第三课 Struts2详解相关推荐
- Mybatis源码学习(三)SqlSession详解
前言 上一章节我们学习了SqlSessionFactory的源码,SqlSessionFactory中的方法都是围绕着SqlSession来的.,那么SqlSession又是什么东东呢?这一章节我们就 ...
- 细说Java性能测试第三课 性能测试详解2
如何制定一份有效的性能测试方案? 上一讲我们学习了性能测试的场景,并且明确了每个场景的核心意义,这一讲我将带你学习如何做好一份性能测试方案,相信你对测试方案这个概念并不陌生,那如何做好一份性能测试方案 ...
- [读书笔记]C#学习笔记三: C#类型详解..
前言 这次分享的主要内容有五个, 分别是值类型和引用类型, 装箱与拆箱,常量与变量,运算符重载,static字段和static构造函数. 后期的分享会针对于C#2.0 3.0 4.0 等新特性进行. ...
- SpringMVC学习总结(三)——Controller接口详解(1)
4.12.ParameterizableViewController 参数化视图控制器,不进行功能处理(即静态视图),根据参数的逻辑视图名直接选择需要展示的视图. <bean name=&quo ...
- Arduino学习笔记三之函数详解及使用范例
输入输出函数 pinMode(pin, mode) 将数位脚位(digital pin)指定为输入或输出. 范例 :pinMode(7,INPUT); // 将脚位 7 设定为输入模式 digital ...
- Struts2学习总结三
Struts2框架OGNL与文件上传以及防止表单重复提交 Struts2学习总结三 1.OGNL表达式 1.1.什么是OGNL. 1.2.OGNL的3个符号. 1.2.1.#符号 1.2.1.1.访问 ...
- python 命令-python解析命令行参数的三种方法详解
这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python解析命令行参数主要有三种方法: ...
- java 检查bytebuf长度_Java学习笔记16-Netty缓冲区ByteBuf详解
Java学习笔记16-Netty缓冲区ByteBuf详解 Netty自己的ByteBuf ByteBuf是为解决ByteBuffer的问题和满足网络应用程序开发人员的日常需求而设计的. JDK Byt ...
- spring学习笔记03-spring-DI-依赖注入详解(通过xml配置文件来配置依赖注入)
spring学习笔记03-spring-DI-依赖注入详解 1.概念 2.构造函数注入 3.set方法注入 4.集合的注入 需要被注入的实体对象 package com.itheima.service ...
最新文章
- Debug无忧!清华校友打造Python调试神器:反向追踪变量、数据流等 | 开源
- SQL Server基础操作(此随笔仅作为本人学习进度记录二)
- php远程开机ubuntu,Ubuntu系统远程开机操作实例
- mediasoup-demo 运行实战
- grpc 流式传输_编写下载服务器。 第一部分:始终流式传输,永远不要完全保留在内存中...
- TypeError: ‘NoneType‘ object is not callable--python报错解决办法
- [MongoDB] MongoDB的基本操作以及文档的增删改查
- 提高Objective-C代码质量心机一:简化写法
- Linux进程、线程、任务调度(1)贵在坚持
- matlab生猪的出售时机,数学模型程序代码-Matlab-姜启源-第三章-简单的优化模型.doc...
- python图书管理实训报告总结_图书管理系统设计实训报告
- Apple ID更换绑定的受信任电话号码教程
- linux 源码 rtf编辑 写字板源码,写字板文档和RTF文档的区别是什么?
- linux下载navicat
- 间接寻址储存的线性表—基本操作实现
- mydisktest测试软件,MyDiskTest
- vue校验输入框不能有中文
- 【转】用 Go 构建一个区块链
- Ubuntu 16.04版本的 网易云音乐 linux 安装包资源以及下载过程
- SpringCloud微服务项目的api文档聚合
热门文章
- Composer报错Could not find a matching version of package解决方式
- python中sort和sorted区别_Python中的 sort 和 sorted的用法与区别
- 人机交互大作业_人机交互专业:多领域交叉的高能学科
- word2vec相似度计算_干货|文本相似度计算
- Spring Boot笔记-接收参数的3种情况
- Spring Boot笔记-logback-spring.xml获取application.properties中的变量
- Qt工作笔记-ListWidget拖动(拖拽)到QGraphicsScene
- Java高级语法笔记-接口(interface)
- android 屏蔽快速点击,Android-如何防止用户过快频繁点击按钮(一)
- if laytpl 非_Layui-神奇的layui.laytpl