- 浏览: 961717 次
- 性别:
- 来自: 江西上饶
文章分类
- 全部博客 (460)
- p.spring (56)
- p.maven (20)
- p.ant (17)
- p.jee (18)
- p.jse (33)
- p.ofbiz (31)
- p.软件工程 (8)
- p.struts2 (5)
- p.hibernate (5)
- linux (25)
- 设计模式 (2)
- p.javascript (11)
- 硬件 (1)
- p.jsp (2)
- p.windows批处理 (1)
- 操作系统问题 (5)
- 算法 (1)
- p.mysql (7)
- p.sql (5)
- p.c (1)
- google产品 (0)
- 内存 (1)
- p.struts (1)
- p.freemarker (7)
- p.css (4)
- p.log4j (10)
- p.html (3)
- 淘宝产品 (0)
- 其他 (3)
- 编译器 (0)
- svn (4)
- p.spring.security (11)
- 图形 (0)
- p.xml (1)
- p.ssh (0)
- p.jquery (4)
- p.jdbc (3)
- p.flex (0)
- p.c++ (0)
- p.c#Net (0)
- p.assembly (0)
- p.sqlserver (0)
- p.其他 (3)
- p.webwork (21)
- p.wap (12)
- p.cglib (1)
- p.jee服务器 (11)
- windows (2)
- p.iphone (1)
- p.java.分布式与集群 (2)
- p.ibatis (16)
- p.eclipse (5)
- 架构 (2)
- http协议 (5)
- 我的个人标准 (2)
- 多线程 (1)
- 奇怪问题 (5)
- p.jira (13)
- p.httpclient (1)
- 服务器.apache (11)
- 安全防范 (1)
- p.PODAM (1)
- p.junit (16)
- fop (2)
- 硬盘安装 (1)
- powerdesigner (0)
- 单元测试 (1)
- apache commons (4)
- tomcat+apache集群 (10)
- 各类诡辩 (1)
- 安卓 (8)
- qvod (1)
- java编程基础知识考试考点及答案 (0)
- 工作总结 (4)
- oracle (0)
- spring的util工具 (3)
- json (2)
- maven (3)
- jms (19)
- p.bat (3)
- hadoop (2)
- git (3)
- nginx (1)
- p.移动开发 (1)
- shiro (3)
- 游戏破解 (1)
- react-native (7)
- ios开发 (1)
- webmagic (6)
- socks5 (1)
最新评论
-
weituotian:
说的不好,没人看的
公司系统中的菜单功能和权限功能 -
石不易:
非常详细的注解~
绑定端口和IP,Listen 与VirtualHost指令 -
spring_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
spring mvc -
liyixing1:
PandaDONG 写道谢谢你啊,我已经下下来了,只是还有很多 ...
jira war安装 -
liyixing1:
PandaDONG 写道谢谢你啊,我已经下下来了,只是还有很多 ...
jira war安装
一般service都是用在event,所以主要看serviceeventhandler就可以了。
先看string-map-prefix
在serviceeventhandler中的代码
Map<String, Object> serviceContext = FastMap.newInstance();
for (ModelParam modelParam: model.getInModelParamList()) {
String name = modelParam.name;
ofbiz10大概是233行
其中有
if (UtilValidate.isNotEmpty(modelParam.stringMapPrefix)) {
Map<String, Object> paramMap = UtilHttp.makeParamMapWithPrefix(request, multiPartMap, modelParam.stringMapPrefix, null);
可以看出来makeParamMapWithPrefix才是将参数解析成map的代码
解析方式大概是
查找每个请求字段,看字段的名字是否以string-map-prefix开头
假设配置
<attribute name="names" mode="IN" type="Map"
string-map-prefix="_o_"></attribute>
请求
127.0.0.1:8080/l/control/processFirstForm?_o_names_1=1&_o_names_2=2
那么最后names这个map有内容
{names_1=1, names_2=2}
可以看到,只要_o_开头的参数都被解析成了map中的元素,另外一点就是前缀之后的参数名就是这个map的key了,如_o_names_1=1请求参数的names_1就是一个key。
string-list-suffix和string-map-prefix有点类似
通过
List<Object> paramList = UtilHttp.makeParamListWithSuffix(request, multiPartMap, modelParam.stringListSuffix, null);完成参数转化
请求http://127.0.0.1:8080/l/control/processFirstForm?names_o_=1&names1_o_=2
发送过去后,解析的时候,只要是以_o_结尾的参数,都会被加入到list,那么
names_o_=1&names1_o_=2
两个参数都是以_o_结尾的,自然都是会被加入到list中。
解析后的list有两个元素,分别是1和2。
先看string-map-prefix
在serviceeventhandler中的代码
Map<String, Object> serviceContext = FastMap.newInstance();
for (ModelParam modelParam: model.getInModelParamList()) {
String name = modelParam.name;
ofbiz10大概是233行
其中有
if (UtilValidate.isNotEmpty(modelParam.stringMapPrefix)) {
Map<String, Object> paramMap = UtilHttp.makeParamMapWithPrefix(request, multiPartMap, modelParam.stringMapPrefix, null);
可以看出来makeParamMapWithPrefix才是将参数解析成map的代码
解析方式大概是
查找每个请求字段,看字段的名字是否以string-map-prefix开头
假设配置
<attribute name="names" mode="IN" type="Map"
string-map-prefix="_o_"></attribute>
请求
127.0.0.1:8080/l/control/processFirstForm?_o_names_1=1&_o_names_2=2
那么最后names这个map有内容
{names_1=1, names_2=2}
可以看到,只要_o_开头的参数都被解析成了map中的元素,另外一点就是前缀之后的参数名就是这个map的key了,如_o_names_1=1请求参数的names_1就是一个key。
string-list-suffix和string-map-prefix有点类似
通过
List<Object> paramList = UtilHttp.makeParamListWithSuffix(request, multiPartMap, modelParam.stringListSuffix, null);完成参数转化
请求http://127.0.0.1:8080/l/control/processFirstForm?names_o_=1&names1_o_=2
发送过去后,解析的时候,只要是以_o_结尾的参数,都会被加入到list,那么
names_o_=1&names1_o_=2
两个参数都是以_o_结尾的,自然都是会被加入到list中。
解析后的list有两个元素,分别是1和2。
发表评论
-
EL表达式,ognl表达式对集合过滤和投影
2013-11-23 11:48 1212GONL<s:property value=" ... -
整站国际化方案
2012-11-28 17:46 1115当前常见的实现方式,主要由两种方案实现 1.通过locale ... -
form Display元素
2011-09-15 14:46 1340对于display元素,在代码 MacroFormRender ... -
tomcat中运行ofbiz
2011-09-07 17:09 1127http://blog.csdn.net/kongqz/art ... -
ofbiz文档
2011-08-29 18:07 1203http://ofbiz.apache.org/docs/ -
关于ofbiz-component.xml文件中的resource-loader
2011-08-28 19:44 1330寻找文件的方式最后是通过ComponentConfig.jav ... -
ofbiz中几个占位符
2011-08-28 19:04 1103OFBiz认为一些键名为反馈消息的占位符。 进入Screen ... -
ofbiz中各类安全代码解析
2011-08-28 18:49 1766security.hasPermission方法 publi ... -
OFBizCMS
2011-08-28 17:01 1336OFBizCMS是基于OFBiz框架的CMS系统,集合了邮件, ... -
UserLogin Party Person PartyGroup四个model关系
2011-08-27 00:05 1938只需从userloginmodel入手 其model定义是 & ... -
通过jdbc sql调用,并将结果转化成GenericValue
2011-08-26 23:48 18881.查看GenericDelegator的代码,发现代码最后是 ... -
EntityUtil
2011-08-26 23:13 1252排序,通常有的时候我们不希望通过order by来排序查询。而 ... -
关于实体过期快捷方式
2011-08-26 22:40 1296在java代码中查询实体未过期的快捷方式是 EntityCon ... -
ofbiz各类问题
2011-08-26 10:58 11531.eclipse下面运行出现 Exception in th ... -
screen,menu,form等里面的action
2011-08-25 19:00 1029以screen为例 其他类似 screen的action内容 ... -
controlservlet
2011-08-24 22:19 1780control servlet 需要为他在web.xml中指定 ... -
MultiForm表单后台处理方式
2011-08-24 15:06 1766首先确定下的是MultiForm的表单命名是FieldName ... -
event java
2011-08-24 12:32 1086controller.xml <handler nam ... -
scree 中的几个内置对象
2011-08-24 12:27 1230· screens是一个org.ofbiz.widget. ... -
ofbiz处理流程
2011-08-23 18:36 1324关于control servlet和请求处理,在OFBiz中有 ...
相关推荐
- `startsWith(String prefix)`/`endsWith(String suffix)`:判断字符串是否以指定的前缀或后缀开始或结束。 4. **字符和字符串的转换** - `toCharArray()`:将字符串转换为字符数组。 - Character类提供了对...
- `startsWith(String prefix)`:判断是否以特定字符串开头。 - `indexOf(String str)`、`lastIndexOf(String str)`:查找子串位置。 - **比较操作**: - `equals(Object anObject)`:比较字符串内容是否相同。 ...
- `startsWith(String prefix)`:判断此字符串是否以指定的前缀开始。 - `endsWith(String suffix)`:判断此字符串是否以指定的后缀结束。 - `substring(int beginIndex, int endIndex)`:返回一个新字符串,它是此...
查询出列表,也就是返回list, 在我们这个例子中也就是 List<User> , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而这个resultMap 所对应的应该是我们自己配置的 ...
public String listItems(@RequestParam Map<String, String> params, Model model) { // 业务逻辑 return "itemsList"; } ``` 10. **文件上传** - 需要在SpringMVC配置文件中配置文件上传解析器。 ```xml ...
public boolean startsWith(String prefix); ``` **8. 比较字符串** 比较两个字符串是否相等(区分大小写): ```java public boolean equals(String anotherString); ``` 忽略大小写进行比较: ```java public...
`compareTo(String s)` 比较字符串,`equals(String s)` 判断相等,`trim()` 去除两端空白,`toLowerCase()` 和 `toUpperCase()` 转换大小写,`startsWith(String prefix)` 和 `endsWith(String suffix)` 检查前缀和...
Map<String, String> responseMap = new HashMap(); responseMap.put("message", "Hello from JSON"); return responseMap; } } ``` 这个例子展示了如何通过不同的视图解析器,根据请求的 URL 返回 JSP、...
public Map<String, Object> handleAjaxRequest(@RequestParam Map<String, String> params) { // 处理业务逻辑 List<Movie> movies = movieDao.getMovies(params); return Collections.singletonMap("movies", ...
然后,在Controller层的方法中,通过返回字符串拼接servlet.xml中定义的视图前缀(prefix)和后缀(suffix)来指定JSP页面的路径。下面是一个具体的例子: ```java @Controller @RequestMapping("/hello") public class...
Map<String, Object> model = new HashMap(); model.put("name", "User"); return new ModelAndView("hello.ftl", model); } ``` 4. **FreeMarker标签和指令**: - FreeMarker提供了丰富的内置标签和指令,如...
<property name="suffix" value=".ftl"/> ;charset=UTF-8"/> ``` 接下来,我们创建一个FreeMarker模板。例如,有一个名为`index.ftl`的模板文件,它可能包含以下内容: ```html <!DOCTYPE html> ${title} ...
public void getUsers(Map<String, List<User>> mp) { List<User> users = userService.getAll(); mp.put("users", users); } ``` 此方法将在控制器的所有其他方法之前执行,并将所有用户数据放入`Map`中,之后...
public String search(HttpServletRequest request, String way) { // ... // 模糊查询路线并填充结果 // ... request.setAttribute("list", wayList); // 设置查询结果 return "way"; // 返回JSP页面展示结果 ...
对于多文件上传,你可以使用`MultipartFile`的`List`或`Map`类型: ```java @PostMapping("/uploadMultiple") public String handleMultipleFileUpload(@RequestParam List<MultipartFile> files) { for ...
// map color and insert in destination int index = ((int) pixels[sx++]) & 0xff; int c = act[index]; if (c != 0) { dest[dx] = c; } dx++; } } } } /** * Gets the image contents of frame n. ...
String action = request.getParameter("action"); if ("list".equals(action)) { return this.list(request, response); } } protected ModelAndView list(HttpServletRequest request, HttpServletResponse...
link ▶You may use file names with a -inl.h suffix to define complex inline functions when needed. The definition of an inline function needs to be in a header file, so that the compiler has the ...
* `joining(CharSequence delimiter, CharSequence prefix, CharSequence suffix)` 例如: ``` servers.stream().collect(Collectors.joining()); // 输出 FelordcnTomcatJettyUndertowResin servers.stream()....