struts配置文件的这一条怎么理解

type="web.action.proj.PreUpdateAction" name="projForm"
scope="request" input="/login.jsp" validate="false">

其中的 path=".proj.preupdat"怎么理解啊?

我知道path="/xxx.jsp"的意思,但上面就不知道怎么办了…………

这个是定义的一个layout的名字
你如果用tiles plugin就会用到了。
tiles-def.xml这样的文件中去找

这也是一个url路径嘛,就像你这个action的url是path="/preupdateproj"类似嘛

.proj.preupdat这样的写法应该是错的吧?都定义不了这文件名或者是路径过滤值。是否./proj.preupdat?如果是这样的话,.就代表项目的根目录。

path=".proj.preupdat"

path 这个参数是 说。。当
[code="java"]
[/code]
中的name 被
ACTION 中 forward 的时候 所跳转的一个JSP 页面。。
例:
[code="java"]
@Override
public ActionForward execute(ActionMapping mapping, ActionForm arg1, HttpServletRequest arg2, HttpServletResponse arg3) throws Exception {
// TODO Auto-generated method stub
/*
findForward 用name 的值。对应到 path 的跳转路径。
*/
return mapping.findForward("update");
}
[/code]

http://topic.csdn.net/u/20090719/11/74cecc5e-ccb9-449f-8ad0-4681a7958cfb.html
http://www.iteye.com/problems/32299
看看这两个

晕头 。发错页面了。。。

感觉应该是tiles插件~

到tiles-def.xml配置文件找找看是否有path=".proj.preupdat" 中的".proj.preupdat“

应该是一个跳转的路径,你看一下程序中其他的地方是否定义了这个名叫preupdateproj的返回方法,或者是返回路径。

一般很少用这样的写法。。你们公司是不是用了urlrewrite了。。你看看其他地方有相关配置吗?

建议你去看看,孙卫琴 写的一本书叫《精通Struts MVC》那本书对你提出的问题讲解的非常详细!

这的确是tiles插件的写法,你可以到tiles插件的配置文件(一般是tiles-def.xm)里去查看一下definition name=".proj.preupdat"这样的定义,就明白了,在struts源码里也有这样的实例struts-faces-example2-1.3.10

个人感觉path其实本质就是一个路径吧?

应该使用插件了或者urlwrite

有可能是其他action的名字

就是个名字,路径的名字

就是你在action里return mapping.findForward("update") 时要跳转的页面名称

这个其实就是一个页面的路径: 比如说 path="/xx/xxx.jsp".如果你的页面就放在WebContent 下,.那就是:path="页面名.jsp".

这个应该是和*.do对应的,既然你这么写path了,那么你在表单的action中应该写成.proj.preupdat.do,