各位大虾:
我的jsp页面语句:
<%String forward="ScoreManageAction.do?action=ScoreManage";%>
insDoc(fourthlvl,gLnk('R',"<%=clist.getCourseName()%>","<%=forward%>&SplCode=<%=clist.getSplCode()%>"));在Action中对应语句为
if(mySmaForm.getAction().equals("ScoreManage")){
System.out.println("mySmaForm.getAction() is : "+mySmaForm.getAction());

System.out.println("mySmaForm.getSplCode() is : "+mySmaForm.getSplCode()); return actionMapping.findForward("scoreManage");
}
运行结果是mySmaForm.getAction() is : ScoreManage,即action取到了值ScoreManage
          mySmaForm.getSplCode() is : null,即SplCode没有取到值。特别说明SplCode=<%=clist.getSplCode()运行正常,因为把鼠标放到该链接上时,能够很清楚的看到链接地址为
ScoreManageAction.do?action=ScoreManage&SplCode=2006,可这个2006就是传不到Action里面去。急啊!
    我建了另一个页面,把forward地址改为scoreManage.jsp?SplCode=2006,再在scoreManage.jsp页面中使用
语句String SplCode=(String)request.getParameter("SplCode");可以准确获得这个2006附:ScoreManageActionForm的部分源程序
public class ScoreManageActionForm extends ActionForm{
private String action;
private String SplCode;
public void setAction(final String action) {
this.action = action;
}public String getAction() {
return action;
}public void setSplCode(final String splCode) {
SplCode = splCode;
}public String getSplCode() {
return SplCode;
}public ActionErrors validate(final ActionMapping actionMapping,
        final HttpServletRequest httpServletRequest) {
return null;
}public void reset(final ActionMapping actionMapping,
final HttpServletRequest servletRequest) {
}}

解决方案 »

  1.   

    SqlCode里面是否有中文.? 有的话编下码在执行
      

  2.   

    没有中文。编译通过的。真是头大,搞不清楚什么情况了字符串action能传过去,其他参数一个传不动。除了这个SplCode还有GrdName。主要目的是想做一个根据专业、年级从数据库里面选取该专业该年级的所有学生列表,结果...基本条件都传不到ScoreManageAction
      

  3.   

    貌似要用session解决,在Action中加了这样一句话
    UserSession myUserSession=new UserSession(servletRequest);
    但问题还是没有解决。
      

  4.   

    你在
    <%String forward="ScoreManageAction.do?action=ScoreManage";%>
    处为什么不写你要传的SqlCode的值?
      

  5.   

    我觉得你这里写的似乎不对:
    <%String forward="ScoreManageAction.do?action=ScoreManage";%>
    insDoc(fourthlvl,gLnk('R',"<%=clist.getCourseName()%>","<%=forward%>&SplCode=<%=clist.getSplCode()%>"));
      

  6.   


          因为<%String forward="ScoreManageAction.do?action=ScoreManage";%>写在jsp页面的开头,而后一句话insDoc(fourthlvl,gLnk('R',"<%=clist.getCourseName()%>","<%=forward%>&SplCode=<%=clist.getSplCode()%>"));是树形结构的一部分,在程序中快到最后,这里显示课程的名称,当用户点这个课程时,就链接到forward所指向的action,
         如果不用forward,直接用链接地址,问题仍然存在。actionform只传递action的值“ScoreManage”,其他参数一概不传
      

  7.   

    问题已解决,ActionForm做如下改进
    public void setSplCode(final String splCode) {
    SplCode = splCode;
    }
    public String getSplCode() {
    return SplCode;
    }
    改为
    public void setSplCode(String splCode) {
    this.splCode = splCode;
    }public String getSplCode(){
    return splCode;
    }