strust namespace

本文详细介绍了Struts框架的核心概念,包括其作用、命名空间的定义与使用、路径问题解决方法,以及Struts2与Struts1的区别。重点阐述了如何通过模块化命名避免命名冲突,并提供了在JSP中使用绝对路径的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Struts的作用,简单说把用户的请求和返回的视图分离!

<package name="front" extends="struts-default" namespace="/front">

     <action name="index">

           <result>/Namespace.jsp</result>

    </action>

</package>

package跟java的包类似,防止命名冲突,一般采用模块化命名。

namaspace决定了action的访问路径,默认为namespace="",表示可以接收所有路径的action。 namespace可以写为/,或者为/xxx,或者/xxx/yyy,对应的action访问路为/index.action,/xxx/index.action,/xxx/yyy/index.action。 namespace最好也用模块来进行命名。

Struts2每次访问Action,都会创建一个新对象!而Struts1访问的Action是同一个对象,在Struts启动时创建!

路径问题?

Struts2中的路径问题根据Action的路径而不是jsp路径来确定,所以尽量不要使用相对路径。

解决方案:统一使用绝对路径。(在jsp中使用request.getContextRoot方式来拿到webapp的路径或者使用myeclipse经常用的,指定basePath。

<%

     String path = request.getContextPath();

     String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<a href="<%=basePath%>index.jsp">index.jsp</a>

或在<head>中加入<base href="<%=basePath%>" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值