我在做一个登陆页面用ssh做的...我想问jsp页面里面应该怎么写?
<form action="?">这里怎么写跳转然后action里面如何得到表单里面转的值?
还有action要注册到spring配置里面去怎么做?还是只能写到struts的配置文件里面? public ActionForward login(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginForm f = (LoginForm)form;

if(ils.login(f.getUsername(), f.getPassword())) {
request.setAttribute("fail", "恭喜您,登录成功!");
return mapping.findForward("index");
} else {
request.setAttribute("fail", "对不起,登录失败!");
return mapping.findForward("login");

}

解决方案 »

  1.   

    这是我的action方法?请问还要做什么
      

  2.   

    你是在struts 中的action类中execute()方法中调用你上面那个login()方法吗?只要你form中的属性名字和你的jsp页面中控件名字一样,页面上的数据会自动保存在form中,那么在action中通过参数form就可以拿到页面上的值了,LoginForm f = (LoginForm)form;
    通过这句代码,可以取出你定义的form类型,然后通过get和set方法就可以拿到页面上的值了。
      

  3.   

    <action path="/t10_manageplan"
    type="org.springframework.web.struts.DelegatingActionProxy"
    name = "planForm"
    >
    <forward name="manageplanlist" path="/manage_planlist.jsp" redirect="false"/>
    <forward name="manageplanadd" path="/manage_planadd.jsp" redirect="false"/>
    <forward name="findManagePlan" path="/profession_mag_evaluation.jsp"></forward>
    </action>与spring整合的话,struts-config.xml文件中如上面写法,<form action="?">中form标签里面的action就写上面配置文件中的path的值:如<form action="t10_manageplan.do">
      

  4.   

    action 中的值 和 struts-config.xml中 action中的path属性的值相同
      

  5.   

    分不够我再加,谁帮看看
    我用的是spring做集中管理这是spring配置文件<?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource" value="dataSource"></property>
    <property name="mappingResources">
    <list>
    <value>com/ssh/model/Login.hbm.xml</value>
    </list>
    </property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">
    org.hibernate.dialect.Oracle9Dialect
    </prop>
    </props>
    </property>
    </bean> <bean id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName"
    value="oracle.jdbc.driver.OracleDriver">
    </property>
    <property name="url"
    value="jdbc:oracle:thin:@192.168.80.3:1521:orcl">
    </property>
    <property name="username" value="scott"></property>
    <property name="password" value="server"></property>
    </bean> <bean id="iloginDao" class="com.ssh.dao.impl.LoginDao"
    abstract="false" lazy-init="default" autowire="default"
    dependency-check="default">
    <property name="sessionFactory">
    <ref bean="sessionFactory" />
    </property>
    </bean> <bean id="loginservice" class="com.ssh.service.impl.Loginservice"
    abstract="false" lazy-init="default" autowire="default"
    dependency-check="default">
    <property name="iloginDao">
    <ref bean="iloginDao" />
    </property>
    </bean>
    </beans>这里是struts的配置<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
    <struts-config>
    <form-beans>
    <form-bean name="loginForm" type="com.ssh.web.LoginForm"></form-bean>
    </form-beans> <global-exceptions />
    <global-forwards />
    <action-mappings>
    <action path="/login"
    type="org.springframework.web.struts.DelegatingActionProxy"
    name="loginForm">
    <forward name="index" path="/index.jsp"></forward>
    <forward name="login" path="/login.jsp"></forward>
    </action>
    </action-mappings>
    <message-resources parameter="com.ssh.struts.ApplicationResources" />
    <plug-in
    className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation"
    value="/WEB-INF/applicationContext.xml" />
    </plug-in>
    </struts-config>这里是action方法
    package com.ssh.web;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.actions.DispatchAction;
    import com.ssh.service.Iloginservice;public class LoginAction extends DispatchAction {
    private Iloginservice ils;

    public void setIloginservice(Iloginservice ils) {
    this.ils = ils;
    }
    public ActionForward login(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {
    LoginForm f = (LoginForm)form;

    if(ils.login(f.getUsername(), f.getPassword())) {
    request.setAttribute("fail", "恭喜您,登录成功!");
    return mapping.findForward("index");
    } else {
    request.setAttribute("fail", "对不起,登录失败!");
    return mapping.findForward("login");

    }

    }
      

  6.   

    我在做一个登陆页面用ssh做的...我想问jsp页面里面应该怎么写? 
    <form action="?">这里怎么写跳转 然后action里面如何得到表单里面转的值? 
    还有action要注册到spring配置里面去怎么做?还是只能写到struts的配置文件里面? Struts 1.x1、登陆界面,肯定是最基础的用户名,密码, 
    2、这里看你action取的path是什么就用什么,eg: 如果Struts配置文件时写的 “/login” 那么问号处就写login.do(在一般情况下,如果你配置的xml文件的不是以.do结尾,那就看你配置的了)
    3、通过配置文件关联一个actionForm,具体配置文件你可以参考楼上的那个代码很多的那个。struts会自动封装页面值到ActionForm ,然后在action里面将form强制转换成你写的那个actionForm(注意,界面上面的表单name必须和actionForm定义的一样,eg:如果界面上面的用户名输入框的name="userName" 那么,actionForm里面也必须有userName属性,Struts才能封装),然后再action中用 强转得到的变量.getUserName()就可以得到你页面上面的值了,如果配置没错的话,
    4、action要和spring 整合的话,必须 1> 在spring 中配置 2> 修改Struts配置文件里面的配置 3> 还要在web.xml中添加监听器。你上面的代码, 很多没注释,看得头晕 
    1、<property name="dataSource" value="dataSource"></property>
    这句 如果value是引用其它的id 那么得用ref 吧!
    2、
    <action path="/login"          type="org.springframework.web.struts.DelegatingActionProxy"
    这里程序知道该调用哪个 action 吗?不能,这样配置了,你还得再spring配置文件中配置 用来创建该action实例。其他的没仔细看了,我建议你去搜下SSH整合,最好先搞清楚spring 和 hibernate 整合,再整合 spring和 Struts。你的思路就该很清楚了。别一步跨太远,不然多的时间都浪费了.
      

  7.   

    ssh的继承,Hibernate和spring的集成配置
      

  8.   

    spring 配action 把service 注入到action里页面action的路径 写请求的路径 就是struts配置文件里的 路径
      

  9.   

    1、你使用的是struts 1,那如果你不是使用execute()默认方法的话,你得在struts的配置文件对应的action中加上parameter="值"的属性,例如parameter="action",然后在页面的<form action="/login.action?action=login">这种写法,这样就能调用到action。
    2、把你的struts的action也配置到spring配置文件中基本上就可以了。