我在做一个登陆页面用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");
}
}
<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");
}
}
解决方案 »
- 请教高手:在action中如何取得<s:checkboxlist>其选中的值?
- 二代身份扫描+Struts2+ajax上传图片问题
- struts2部署问题java.lang.ClassNotFoundException:
- Ireport3.7.1和struts2整合问题
- java程序动态生成swf文件相关问题
- 怎样根据WSDL生成SOAP请求
- java处理EXCEL中pivottable的问题
- >>>>因为没有项目经验而找不到工作怎么办?
- 关于tomcat+apache+jsp下web应用的配置1
- 关于socket编程
- 求救:JSP中数字的相加如何实现
- myeclipse停止weblogic10 错误
通过这句代码,可以取出你定义的form类型,然后通过get和set方法就可以拿到页面上的值了。
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">
我用的是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");
}
}
}
<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。你的思路就该很清楚了。别一步跨太远,不然多的时间都浪费了.
2、把你的struts的action也配置到spring配置文件中基本上就可以了。