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-default
        struts-default这个包在struts-default.xml文件中定义的-->
    <package name="helloWorld" extends="struts-default" namespace="/logan">
        <!-- 配置action:一个struts2的请求就是一个action
            name:对应一个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 report

message 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(转发到结果)

时间: 2024-08-07 21:19:12

Struts2学习第三课 Struts2详解的相关文章

Struts2学习第三课 访问Web资源

1.什么是WEB资源? HttpServletRequest,HttpSession,ServletContext等原生的Servlet API. 2.为什么访问WEB资源? B/S的应用的Controller中必然需要访问WEB资源,例如,向域对象中读写属性,读写Cookie,获取realPath等等. 3.如何访问? 在Action中,可以通过一下方式访问web的HttpSession,HttpServletRequest,HttpServletResponse等资源 与Servlet AP

SpringMVC学习总结(三)——Controller接口详解(2)

4.5.ServletForwardingController 将接收到的请求转发到一个命名的servlet,具体示例如下: package cn.javass.chapter4.web.servlet; public class ForwardingServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws Servle

struts2学习笔记--struts.xml配置文件详解

这一节主要讲解struts2里面的struts.xml的常用标签及作用: 解决乱码问题 <constant name="struts.i18n.encoding" value="utf-8"/> //设置编码格式为utf-8 自定义扩展名 <constant name="struts.action.extension" value="action,,wang"/> //struts默认扩展名是actio

zepto学习(三)之详解

zepto Zepto就是jQuery的移动端版本, 可以看做是一个轻量级的jQuery github地址: https://github.com/madrobby/zepto 官方地址: http://zeptojs.com/ 中文版地址: http://www.css88.com/doc/zeptojs_api/ 注意点: Zepto的设计目的是提供 jQuery 类似的API,但并不是100%覆盖 jQuery jQuery的底层是通过DOM来实现效果的, zepto.js 是用css3

Mybatis学习记录(三)--Mybatis配置文件详解

关于mybatis的配置文件,主要有两个,一个是SqlMapperConfig.xml文件一个是mapper.xml文件,分别对这两个进行深入全面学习. 一.SqlMapperConfig.xml文件 1.标签概况 在SqlMapperConfig.xml中主要有以下标签,其中环境集合environments和spring整合后废除不用.objectFactory和plugins不经常使用. properties(属性) settings(全局配置参数) typeAliases(类型别名) ty

SpringMVC学习总结(三)——Controller接口详解(1)

4.12.ParameterizableViewController 参数化视图控制器,不进行功能处理(即静态视图),根据参数的逻辑视图名直接选择需要展示的视图. <bean name="/parameterizableView" class="org.springframework.web.servlet.mvc.ParameterizableViewController"> <property name="viewName"

(转)struts2.0配置文件、常量配置详解

一.配置: 在struts2中配置常量的方式有三种: 在struts.xml文件中配置 在web.xml文件中配置 在sturts.propreties文件中配置 1.之所以使用struts.propreties文件配置,是因为为了保持与WebWork的向后兼容 2.在实际开发中,在web.xml中配置常量相比其他两种,需要更多的代码量,会降低了web.xml的可读性 3.通常推荐在struts.xml文件中配置struts2的常量,而且便于集中管理 sturt2中搜索加载常量的顺序是: str

php学习之道:WSDL详解(三)

通过声明方式定义绑定(binding)属性 如果你在服务中采用SOAP binding,你可以使用JAX-WS来指定一定数量的属性binding.这些属性指定对应你在WSDL中指定的属性.某些设置,比如参数类型,可以约束你实现的方法,这些设置也影响声明的效用. @SOAPBinding声明,定义在javax.jws.soap.SOAPBinding接口中.它提供发布时的SOAP Binding细节.如果@SOAPBinding没有被指定,则用缺省的doc/literal SOAPBinding.

struts2之form标签theme属性详解

struts2中theme属性包括xhtml,html,simple,ajax .默认是xhtml theme:设置struts2标签的主题,默认为xhtml. theme=xhtml时:会默认额外生成tr,td. theme=simple时:就生成标签所对应的html标签形式. 在默认情况下,表单元素是分布在不同行的.如下代码:<s:form action="login2">     <s:textfield label="用户名" name=&