ssh项目继续···
struts1.2:
这两天遇到了这么个问题:我在页面上用js跳转至一个action,页面上是这么写的:
[img]/upload/attachment/86761/1ca9f34e-2df8-378e-9793-2e52ebe802bd.jpg[/img]
[img]/upload/attachment/86763/9352a8b7-33e5-3dbe-853d-85c8e676a284.jpg[/img]
根据yourgame 和lianpengyan_0719的提示,我修改了原来的struts-config.xml文件。现在是这样的:
name="merychUpdateForm"
input="/view/showMerych.jsp"
path="/updateMerych"
scope="request">
现在又打回到验证的页面了。很郁闷。我在想是不是跟我写的这个页面有问题。我原来想的是这这个页面,如我上传的图片“updatemerych.JPG”。我点修改,我让“删除”和“修改”两个按钮隐藏,上面的文本框显示。“提交”按钮显示,然后我修改完了后,我再点“提交”按钮,我让跳转到updateMerych,然后再跳转到“showMery.do”显示信息,但是又打回到验证的页面了(如:results.JPG)。是不是必须要再创建一个页面和actionform才行?我这么写就不能实现?
[b]问题补充:[/b]
[img]/upload/attachment/86767/b967d3dc-72eb-3a6d-b4d8-ccddb9e38661.jpg[/img]
[b]问题补充:[/b]
谢谢yourgame的建议。我自己写的肯定拿不出去手。但是,现在遇到了这个问题了,咱不能说放弃就放弃吧?咱得知道错在了哪?怎么才能改好,可能是有点较真儿。我就是想打破砂锅问到底而 :oops:
[b]问题补充:[/b]
好了,我传上来了,jar包,就不用我给了把。20多M也传不上来啊!没啥功能就是简单的SSH!谢谢各位!
我帮你修改好了 原来是WEB.XML文件写错了 起了冲突,我现在把工程发给你
我没有看到你在Action中配置跳转到具体地方去,
虽然toSelectAction是全局,你可以尝试使用局部的.全局的用多了有时候会混淆的
因为你说调回到原来页面,还验证了.很有可能是验证没有通过才会跳回原来页面的
input="/view/showMerych.jsp"
你想跳到查询的action中吧,一定是
那么你直接写toSelectAction那怎么行呢,你这样的话还没进行查询操作就返回到一个页面上去了
如果你拦截的是以.do为后缀为请求的话,那你配置一个跳转
这样的话 就会被查询的action拦截到 然后进行查询再跳转回去
最好不要这么写,调理也不清晰
你也没有必要再写一个Action 你顶多再写一个方法,配置执行这个方法,在方法里面做你想要做的所有事情,修改,查询等.最后返回你要显示的页面. 重新配置一个就可以了.很简单的. 不过你的Action要继承DispatchAction 而不是简单的Action.因为继承普通的Aciton只能在里面写一个方法,这样类太多了.太臃肿,你可以把一个相关模块的功能操作写一个Action类
比如,你可以些一个用户处理的类
[code="java"]public class UserAction extends DispatchAction{
//查询用户的方法
public ActionForward queryUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {}
//删除用户
public ActionForward delUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {}
//修改
public ActionForward updateUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {}
//保存
public ActionForward addUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {}
}[/code]
然后你配置文件就可以这样配置:
[code="xml"][/code]
那么你访问的时候你就可以这样:
[code="js"]function addUser(){
var showMerych = document.getElementById("showMerych");
var code = document.getElementById("code").value;
showMerych.action="<%=basePath%>user.do?method=addUser";
showMerych.submit();
}
function updateUser(){
var showMerych = document.getElementById("showMerych");
var code = document.getElementById("code").value;
showMerych.action="<%=basePath%>user.do?method=updateUser";
showMerych.submit();
}
function delUser(){
var showMerych = document.getElementById("showMerych");
var code = document.getElementById("code").value;
showMerych.action="<%=basePath%>user.do?method=delUser";
showMerych.submit();
}
function queryUser(){
var showMerych = document.getElementById("showMerych");
var code = document.getElementById("code").value;
showMerych.action="<%=basePath%>user.do?method=queryUser";
showMerych.submit();
} [/code]
我想这个可以解决问题
出现问题得把你的工程全部发给我看看,我帮你看看
还有什么问题?