如何在项目中看出用的是struts1还是用的struts2

如何在项目中看出用的是struts1还是用的struts2,第1张

1)springmvc的入口是一个servlet,即前端控制器,例如:action

struts2入口是一个filter过虑器,即前端过滤器,例如:/

2)springmvc是基于方法开发,传递参数是通过方法形参,可以设计为单例

struts2是基于类开发,传递参数是通过类的属性,只能设计为多例

3)springmvc通过参数解析器是将request对象内容进行解析成方法形参,将响应数据和页面封装成

modelandview对象,最后又将模型数据通过request对象传输到页面

struts采用值栈存储请求和响应的数据,通过ognl存取数据

VLOOKUP在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。当比较值位于数据表首列时,可以使用函数 VLOOKUP 代替函数 HLOOKUP。在 VLOOKUP 中的 V 代表垂直。语法VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)Lookup_value 为需要在数组第一列中查找的数值。LOOKUP_value 可以为数值、引用或文本字符串。Table_array 为需要在其中查找数据的数据表。可以使用对区域或区域名称的引用,例如数据库或数据清单。如果 range_lookup 为 TRUE,则 table_array 的第一列中的数值必须按升序排列:…、-2、-1、0、1、2、…、-Z、FALSE、TRUE;否则,函数 VLOOKUP 不能返回正确的数值。如果 range_lookup 为 FALSE,table_array 不必进行排序。通过在“数据”菜单中的“排序”中选择“升序”,可将数值按升序排列。Table_array 的第一列中的数值可以为文本、数字或逻辑值。文本不区分大小写。Col_index_num 为 table_array 中待返回的匹配值的列序号。Col_index_num 为 1 时,返回 table_array 第一列中的数值;col_index_num 为 2,返回 table_array 第二列中的数值,以此类推。如果 col_index_num 小于 1,函数 VLOOKUP 返回错误值值 #VALUE!;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值 #REF!。Range_lookup 为一逻辑值,指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值;如果 range_value 为 FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。说明如果函数 VLOOKUP 找不到 lookup_value,且 range_lookup 为 TRUE,则使用小于等于 lookup_value 的最大值。如果 lookup_value 小于 table_array 第一列中的最小数值,函数 VLOOKUP 返回错误值 #N/A。如果函数 VLOOKUP 找不到 lookup_value 且 range_lookup 为 FALSE,函数 VLOOKUP 返回错误值 #N/A 示例 查找密度为109的 粘度是多少 ,返回值195

终于解决你的问题了。因为OGNL和JSTL表达式不能嵌套使用,我的解决方法是使用JSP的自定义标签。下面是我自己写的JSP标签代码(放在/WEB-INF/tags目录下):

<%@ tag pageEncoding="UTF-8"%>

<%@ attribute name="username"%>

<%@ attribute name="name1"%>

<%

String str="SELECTED";

String username=(String)requestgetAttribute("username");

String name1=(String)requestgetAttribute("name1");

if(usernameequals(name1)){

%>

<%outprint(str);%>

<%}%>

下面是测试页面的代码:

<%@ page language="java" contentType="text/html; charset=GBK"%>

<!-- 引入自定义标签和struts2标签 -->

<%@ taglib prefix="s" uri="/struts-tags"%>

<%@ taglib prefix="tags" tagdir="/WEB-INF/tags"%>

主体代码为:

<select name="pname">

<s:iterator value="#attrpnames" status="st" id="name1">

<option <tags:iterator username="${username}" name1="${name1}"/>

value=<s:property value="#stcount" />>

<s:property value="name1" />

</option>

</s:iterator>

</select>

属性名我用的username即是你说的在后台定义pname。下面是我测试结果的页面代码:

<html>

<head>

<title>欢迎</title>

</head>

<body>

<select name="pname">

<option value=1>

qqq

</option>

<option value=2>

aaaaaaa

</option>

<option value=3>

bbbbbbb

</option>

<option SELECTED value=4>

ddddddd

</option>

<option value=5>

ccccccc

</option>

</select>

</body>

</html>

上面实现在IE6中测试成功,但是在Firefox中测试不成功,页面代码依然是上面代码,但是firefox不自动选择默认项

以上就是关于如何在项目中看出用的是struts1还是用的struts2全部的内容,包括:如何在项目中看出用的是struts1还是用的struts2、ognlexpressionevaluator怎么使用、求jsp中OGNL表达式,select标签的用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9328090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存