idea中maven+ssm开发oa项目遇到问题汇总

1.target文件夹中不能生成mapper映射文件,一直报找不到错误
原因:idea不会吧src/main/java下的配置文件打包
解决方案:

<resources>
    <resource>
       <directory>src/main/java</directory>
        <includes>
        	<include>**/*.xml</include>
      	</includes>
      <filtering>true</filtering>
   </resource>
</resources>

2.编写jsp页面时el表达式不起作用
原因:maven创建项目时,web.xml头部声明默认是2.3,这个默认jsp关闭el表达式
解决方案:isELIgnored=“false”(推荐)

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>

解决方案:更换头部声明为3.0(不推荐)

<?xml version="1.0" encoding="UTF-8"?>  
<web-app xmlns="http://java.sun.com/xml/ns/javaee"  
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  
          version="3.0">  
            
</web-app> 

3.post请求到后台乱码问题

<filter>
	<filter-name>CharacterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    	<init-param>
        	<param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>

必须添加init-param部分内容!!!!!!!!!!!!!!!!!!!
必须添加init-param部分内容!!!!!!!!!!!!!!!!!!!
必须添加init-param部分内容!!!!!!!!!!!!!!!!!!!

1.encoding:字符集,即将过滤到的request的字符集设置为encoding指定的值,相当于

request.setCharacterEncoding("")

2.forceEncoding:字面意思是强制字符集,这个参数的值是指定response的字符集是否也设置成encoding所指定的字符集,所以你可以选择设置为true或false,当值为true时,相当于

request.setCharacterEncoding("");    
response.setCharacterEncoding("");

当值为false时,相当于

request.setCharacterEncoding(""); 

4.部门相关查询技术

知识点
递归,树形结构
在这里插入图片描述
mybatis
根据部门id查出该部门信息,并且携带所有子部门信息

<select id="getChildDepartment" resultType="Department" parameterType="Integer">
      SELECT * FROM department WHERE parentDepartmentid=#{departmentId}
 </select>

Test类

public class applicationContextTest {
    private DepartmentMapper bean;
    @Before
    public void init(){
        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
        System.out.println(applicationContext.toString());
        bean = applicationContext.getBean(DepartmentMapper.class);
    }

    void digui(List<Department> list){
        for (Department department : list) {
            List<Department> department1 = bean.getChildDepartment(department.getDepartmentId());
            department.setChildDepartmentList(department1);
            digui(department1);
        }
    }

    @Test
    public void test(){
        List<Department> department = bean.getChildDepartment(12);
        digui(department);
        String s = JSON.toJSONString(department,true);
        System.out.println(s);
    }
}

结果

[
	{
		"childDepartmentList":[
			{
				"childDepartmentList":[
					{
						"childDepartmentList":[],
						"departmentId":16,
						"departmentName":"保安1部1组1个",
						"departmentNo":"6666",
						"parentDepartmentId":15
					}
				],
				"departmentId":15,
				"departmentName":"保安1部1组",
				"departmentNo":"222222222",
				"parentDepartmentId":13
			}
		],
		"departmentId":13,
		"departmentName":"保安1部",
		"departmentNo":"333333",
		"parentDepartmentId":12
	},
	{
		"childDepartmentList":[],
		"departmentId":14,
		"departmentName":"保安2部",
		"departmentNo":"444444",
		"parentDepartmentId":12
	}
]

5.一个用户对应多个角色,多个角色对应的权限list可能会有重复,如何进行去重呢?

答:利用HashSet

public static List removeDuplicate(List list) {   
    HashSet h = new HashSet(list);   
    list.clear();   
    list.addAll(h);   
    return list;   
}   

6.省市县三级联动前台实现

<div class="form-group">
	<label for="s_province" class="col-sm-2 control-label">祖籍</label>
	<div class="col-sm-3">
		<select id="s_province" name="province" class="form-control"></select>
	</div>
	<div class="col-sm-3">
		<select id="s_city" name="city" class="form-control"></select>
	</div>
	<div class="col-sm-3">
		<select id="s_county" name="county"  class="form-control"></select>
	</div>
</div>
<div id="show"></div>
<script class="resources library" src="http://sandbox.runjs.cn/uploads/rs/267/g3ugugjp/area.js" type="text/javascript"></script>
<script type="text/javascript">_init_area();</script>
<script type="text/javascript">
	var Gid  = document.getElementById ;
	var showArea = function(){
		Gid('show').innerHTML = "<h3>省" + Gid('s_province').value + " - 市" +
			Gid('s_city').value + " - 县/区" +
			Gid('s_county').value + "</h3>"
	}
	Gid('s_county').setAttribute('onchange','showArea()');
</script>

7.springmvc接受POJO参数,参数中有date日期类型属性,无法绑定到pojo对象上,导致400错误

解决方案:

@DateTimeFormat(pattern="yyyy-MM-dd")
private Date birthday;

8.js页面input框去空格问题

//去空格
$("input").blur(function () {
	console.log("blur");
	var trim=$(this).val().trim();
	//!!!inportant一步
	$(this).val(trim);
})
OA办公系统的九大设计原则: 1.整体性 系统整体设计能有效的实现后台一体化管理,前端满足用户个性化需求,系统标准化程度高。 2.先进性 软件采用的技术,将在相当长的时间内保证技术的发展能力,应具有良好便捷的升级能力,选用的硬件设备及操作系统、数据库产品、应用软件均具有先进性及成熟的技术与产品。 3.规范性 遵循统一的国家规范公文格式和交换接口标准。 4.高效性 系统提供对各类事务处理的高效性。使对大容量数据的查询和更新等操作也在较短的时间内迅速完成。对于大数据量的处理,也能高效地完成。 5.安全可靠性 采用最成熟和应用最广泛的技术平台,支持身份认证技术、安全加密技术;数据在传输过程和数据库采用高加密技术,保证数据的安全性。分不同的角色控制信息数据,采用横向和纵向结合的矩阵权限控制模式,保证企业的各种信息安全。 6.扩展性 由于计算机和网络等领域技术发展十分迅速,应用环境,系统硬件及系统软件都会不可避免将被更新,系统的可扩充性及版本的兼容性,直接影响着应用系统和用户需求的发展和功能的提升。因此,OA系统十分重视扩展性,能很容易地适应调整,扩充和删减;另一方面,它还具有与其它系统的接口能力,利用各系统功能之长,进行优势互补。 7.适应性和灵活性 在日常工作,不可避免地需要进行机构及人员的调整,OA系统能提供充分的变更与扩展能力,适用机构及人员的调整。OA系统还具有图形化工作流定义工具,系统管理员可在浏览器环境下任意调整或定义工作流程。系统具有灵活的信息发布系统,用户可根据需要定制发布需要的新闻、通知。 8.易用性 系统的设计尤其重视用户界面的友好性。简洁大方、功能齐备、美观实用、提示准确。 9.健壮性 OA办公系统的开发设计应该支持应用和数据库等多重负载均衡能力,支持附件服务器和数据库服务器分离技术,从而支持数万用户同时在线和同时操作的能力,不会因为用户数的增长或者信息量的增长,而导致系统响应能力下降。 如何分辨OA办公系统的优劣?设计原则是一个重要的评判标准。优秀的设计原则能让OA办公系统脱颖而出,实现系统整体的高性能、高可用、可扩展,发挥出更强的协同办公能力。而OA办公系统设计的九大原则,基本上包括了OA办公系统的性能指标,给项目开发和用户选型提供了有益的借鉴,对于OA办公系统的整体水平也能起到提升作用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值