1.遇到了个异常:
javax.servlet.ServletException: No adapter for handler [public int com.picc.ecargo.controller.addititive.AddititiveController.addititiveSubmit(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse,org.springframework.ui.ModelMap,com.picc.ecargo.vo.addititive.AddititiveVo) throws java.lang.Exception]: Does your handler implement a supported interface like Controller?
导致这个异常出现的问题比较多,我说一下自己出现问题的原因:
我是用ssm框架,用的注解,在传递表单里面的参数时,要用到实体类AddititiveVo,一开始我是没加@ResponseBody注解,所以报这个错误了,后来去网上搜,也没什么结果,偶尔发现,其他的方法都有这个注解,唯独这个方法没有,所以加上了,然后就没问题了
public @ResponseBody int addititiveSubmit(HttpServletRequest request,HttpServletResponse response ,ModelMap map,AddititiveVo avo)throws Exception{
那么来扩展一下,@ResponseBody这个注解的作用:
作用:
i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;
ii) 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。
2.返回的数据应该是个List<实体类A>时,xml中select中的resulttype怎么写
resulttype直接写成resulttype="实体类A"就可以,不用管是不是list,只要是一个类型的就可以
3.批量查询数据ssm框架中在xml中怎么写那?
前端:接受参数是个类似这样的字符串:"110,120,119,10086"
<form id = "clauseSubmit" action="${basePath}/addititive/addititiveSubmit.do" method = "post">
<select multiple="multiple" id="additivenotpass" class="form-control list-group" name="additivenotpass" style="width:300px;height:375px;">
<#if notPassCaluseName??>
<#list notPassCaluseName as caluseName>
<option id="${caluseName.additionalriskid}" name="caluseName" value="${caluseName.additionalriskid}">${caluseName.clausecname}</option>
</#list>
<#else>
</#if>
</select>
</form>
XML:将字符串分割了
<select id="findListByNumberY" resultType="com.picc.ecargo.po.riskcode.FreightAdditiveClauseCode" >
select
*
from AdditionalRiskCode
where
INSURANCETYPE = '1'
and ADDITIONALRISKID not in
<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
#{item}
</foreach>
</select>
4.创建序列
5.oracle中字段类型是Date的,实体类也是Date的,要set时间的时候,这个时间的格式....?
推荐一个工具类:
public class DataUtil {
public static Date SysTime() {
String Nowtime = new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime());
java.sql.Date time = java.sql.Date.valueOf(Nowtime);
return time;
}
}
6.在重构项目时,可能涉及到表的修改,这时候应该有冗余字段,方便以后做功能扩展
7.oracle改表名
ALTER TABLE old_table_name RENAME TO new_table_name;