javaWeb之表达式语言---应用MVC

本文详细介绍了如何在MVC模式下使用表达式语言(EL)来简化Java对象属性的访问,并展示了基本的算术、关系及逻辑运算符的使用方法。

1,在MVC中应用EL

EL可以通过反射的方式调用保存在属性范围中的java对象内容,比我们现在有一个这样的VO类(Dept.java):

package com.keith.elDemo;

public class Dept {
	private int deptNo;
	private String dName;

	public Dept() {
	}

	public int getDeptNo() {
		return deptNo;
	}

	public void setDeptNo(int deptNo) {
		this.deptNo = deptNo;
	}

	public String getdName() {
		return dName;
	}

	public void setdName(String dName) {
		this.dName = dName;
	}
}

 然后我在jsp中可以通过脚本设置相关内容(elTest.jsp):

	<%
	Dept dept = new Dept();
	dept.setDeptNo(1);
	dept.setdName("java");
	request.setAttribute("deptInfo",dept);
	 %>

 设置完后,我们可以这样访问(elTest.jsp):

	 部门编号:${deptInfo.deptNo }
	 部门名称:${deptInfo.dName }

 在利用EL输出对象属性的操作中实际上还是依靠java反射机制完成(可以在getter方法上加上输出,测试观察);

看下在MVC模式中怎么运用:

ElServlet:

package com.keith.elDemo;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ElServlet extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doPost(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		Dept dept = new Dept();
		dept.setDeptNo(007);
		dept.setdName("Java");
		req.setAttribute("deptInfo", dept);
		req.getRequestDispatcher("elTest.jsp").forward(req, resp);
	}

}

 在web.xml:

	<servlet>
		<servlet-name>ELServlet</servlet-name>
		<servlet-class>com.keith.elDemo.ElServlet</servlet-class>
	</servlet>  
	<servlet-mapping>
		<servlet-name>ELServlet</servlet-name>
		<url-pattern>/ELServlet</url-pattern>
	</servlet-mapping>

 elTest.jsp:

	 部门编号:${deptInfo.deptNo }
	 部门名称:${deptInfo.dName }

 此时的页面只管JSP的输出,不用考虑后台是怎么运行的。

2,运算符

在表达式语言中为了方便用户的显示操作定义了许多算术运算符,关系运算符,逻辑运算符,使用这些运算符将会让JSP变得更加简洁;对于太复杂的操作还是应该在Servlet或JavaBean中完成;

No算术运算符描述范例结果
1+加法操作${1+1}2
2-减法操作${2-1}1
3*乘法操作${1*2}2
4/或div除法操作${1/2}或${1 div 2}0.5
5%或mod取模(余数)${1%2}或${1 mod 2}1

EL中还提供了6种关系运算符:

No关系运算符描述范例结果
1==或eq等于${2 == 3 }或${2 eq 3 } false||false
2!=或ne不等于${2!=3 }或${2 ne 3 }
true||true
3<或lt小于${2<3 }或 ${2 lt 3 } true|| true
4>或gt大于${2>3 }或${2 gt 3 } false||false
5<=或le小于等于${2<=3 }或${2 le 3 } true|| true
6>=或ge大于等于${2>=3 }或${2 ge 3 } false||false

EL中提供了3种逻辑运算符:

No逻辑运算符描述范例结果
1&&或and${true && false }或${true and false } false
2||或or${true || false }或${true or false } true
3!或not相反${!true }或${not true } false

EL中还有3种其他运算符:

No其他运算符描述范例结果
1empty判断是否为null${empty deptInfo } false
2?:三目运算${1 > 2 ? "大于":"小于" } 小于
3()括号运算符${1*(2+3) } 5
【博士论文复现】【阻抗建模、验证扫频法】光伏并网逆变器扫频与稳定性分析(包含锁相环电流环)(Simulink仿真实现)内容概要:本文档是一份关于“光伏并网逆变器扫频与稳定性分析”的Simulink仿真实现资源,重点复现博士论文中的阻抗建模与扫频法验证过程,涵盖锁相环和电流环等关键控制环节。通过构建详细的逆变器模型,采用小信号扰动方法进行频域扫描,获取系统输出阻抗特性,并结合奈奎斯特稳定判据分析并网系统的稳定性,帮助深入理解光伏发电系统在弱电网条件下的动态行为与失稳机理。; 适合人群:具备电力电子、自动控制理论基础,熟悉Simulink仿真环境,从事新能源发电、微电网或电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握光伏并网逆变器的阻抗建模方法;②学习基于扫频法的系统稳定性分析流程;③复现高水平学术论文中的关键技术环节,支撑科研项目或学位论文工作;④为实际工程中并网逆变器的稳定性问题提供仿真分析手段。; 阅读建议:建议读者结合相关理论教材与原始论文,逐步运行并调试提供的Simulink模型,重点关注锁相环与电流控制器参数对系统阻抗特性的影响,通过改变电网强度等条件观察系统稳定性变化,深化对阻抗分析法的理解与应用能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值