我修改为字符串拼接就可以,如果用参数需要做什么配置吗?
String queryString = "from FmUser as model where model."
+ propertyName + "= '"+value+"'";
修改成这样就可以。
String queryString = "from FmUser as model where model."
+ propertyName + "= '"+value+"'";
修改成这样就可以。
<property name="annotatedClasses">
<list>
<value>com.fundclien.entity.FmUser</value>
</list>
</property>
改成
<property name="packagesToScan">
<value>com.fundclien.entity</value>
</property>
你也不嫌累,一个一个加~
我已经按你指教的改了,果然好用啊。to 版主大人 fangmingshijie
findByProperty(String propertyName, Object value) 是自动生成的,value是propertyName的值。
+ propertyName + "=:value";
Query queryObject = getCurrentSession().createQuery(queryString);
queryObject.setParameter("value", value);
我在loginAction的execute函数执行完成后,在跳转页面时报了个错误:
HTTP Status 404 - No result defined for action com.fundclient.actions.loginA
public String execute() throws Exception{
boolean res = fmUserDao.validUser(userName, passWord);
if(res){
return SUCCESS;
}else{
return ERROR;
}
}
structs2.xml配置:<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.objectFactory" value="spring"></constant>
<package name="mypack" extends="struts-default">
<action name="index">
<result>/index.jsp</result>
</action>
<action name="login" class="com.fundclient.actions.LoginAction">
<result name="success">/index.jsp</result>
<result name="error">/login.jsp</result>
</action>
</package>
</struts>
不行也,还是会报错,这是不是hibernate4的bug啊,或者是不是需要配置什么参数来技能呀
2.访问已经解决了
<action name="login" class="com.fundclient.actions.loginAction" method="execute">
改成
<action name="loginAction" class="com.fundclient.actions.loginAction" method="execute">
就好了。