导航:首页 > 万维百科 > activiti网页设计器

activiti网页设计器

发布时间:2020-09-06 06:46:10

1、网页设计师非常有用的几个在线工具

几个网页设计工作中经常会用的在线工具,能够大大的提供工作效率!
ProCSSor

ProCSSor是一个很不错的CSS代码美化工具,它可以轻松的把代码转换成很美观的格式。
jsFiddle

JsFiddle有多种用途,其中一个用法就是可以在线编辑HTML, CSS 和JavaScript片段,而且代码可以分享,还可以嵌入到你的博客中等等。
Frame Box

Frame Box是一个非常好用的用于在线分享线框图(wireframes)的工具。
Spritebox

Spritebox是一个所见即所得的工具,帮助Web设计者迅速而轻松地从一张精灵图片(CSS Sprit Image)创建CSS类和ID选择符样式。这里涉及到一项技术叫CSS Sprites,在国内很多人叫CSS精灵,它是的基本原理是使用CSS的背景系列属性的组合进行背景图片的精确定位。
CSS3 Generator

这是一个简单的跨浏览器CSS3样式生成器,可以生成你想要的任何值。
Super Conversion Button

这个工具可以帮助你瞬间生成一个美观的试用(Try it now)按钮。
wordmark.it

这个工具之前曾介绍过,可以帮助你直观的查看当前电脑上安装了哪些字体。
0 to 255

2、java工作流框架activiti的bpmn设计器里怎么找不到补偿边界事件和取消边界事件呢?

无论是设计工具,还是源代码和用户手册,都没有见过你说的这两个概念。

3、activiti6的流程编辑器怎么整合进自己的项目中

建议你可以看一下咖啡兔的相关技术博文:网页链接,

activiti6和activiti5整合方式一致

1. 为什么要整合

Activiti 5.10版本把原本独立的Activiti Modeler模块整合到了Activiti Explorer中,两者相结合使用起来很方便,通过Modeler设计的流程模型可以直接部署到引擎,也可以把已经部署的流程转换为Model从而在Modeler中编辑。

在实际应用中也有这样的需求,把Modeler整合到业务系统中可以供管理员使用,或者作为BPM平台的一部分存在,很遗憾官方没有给出如何整合Modeler的文档。

2. 整合工作

2.1 下载源码

首先需要从Github下载源码:https://github.com/Activiti/Activiti;可以直接用Git克隆,也可以下载zip格式的压缩包。

2.2 复制文件

复制的所有文件均在activiti-webapp-explorer2目录中。

src/main/resources中的editor.html、stencilset.json、plugins.xml到项目源码的源码根目录,保证编译之后在classes根目录

src/main/webapp中的api、editor、explorer、libs到项目的webapp目录(与WEB-INF目录同级)

2.3 添加依赖

?

 <dependency>    <groupid>org.activiti</groupid>    <artifactid>activiti-explorer</artifactid>    <version>5.14</version>    <exclusions>        <exclusion>            <artifactid>vaadin</artifactid>            <groupid>com.vaadin</groupid>        </exclusion>        <exclusion>            <artifactid>dcharts-widget</artifactid>            <groupid>org.vaadin.addons</groupid>        </exclusion>        <exclusion>            <artifactid>activiti-simple-workflow</artifactid>            <groupid>org.activiti</groupid>        </exclusion>    </exclusions></dependency><dependency>    <groupid>org.activiti</groupid>    <artifactid>activiti-modeler</artifactid>    <version>5.14</version></dependency> 

2.4 添加Java类

添加一个ExplorerRestApplication.java类保存到项目中,注册了一些REST路由。

?

2526272829 package org.activiti.explorer.rest.application; import org.activiti.editor.rest.application.ModelerServicesInit;import org.activiti.rest.api.DefaultResource;import org.activiti.rest.application.ActivitiRestApplication;import org.activiti.rest.filter.JsonpFilter;import org.restlet.Restlet;import org.restlet.routing.Router; public class ExplorerRestApplication extends ActivitiRestApplication {   public ExplorerRestApplication() {    super();  }  /**   * Creates a root Restlet that will receive all incoming calls.   */  @Override  public synchronized Restlet createInboundRoot() {    Router router = new Router(getContext());    router.attachDefault(DefaultResource.class);    ModelerServicesInit.attachResources(router);    DiagramServicesInit.attachResources(router);    JsonpFilter jsonpFilter = new JsonpFilter(getContext());    jsonpFilter.setNext(router);    return jsonpFilter;  } } 

2.5 配置web.xml

在web.xml文件中添加如下配置:

?

12345678910111213141516 <!-- Restlet adapter, used to expose modeler functionality through REST --><servlet>    <servlet-name>RestletServlet</servlet-name>    <servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>    <init-param>        <!-- Application class name -->        <param-name>org.restlet.application</param-name>        <param-value>org.activiti.explorer.rest.application.ExplorerRestApplication</param-value>    </init-param></servlet> <!-- Catch all service requests --><servlet-mapping>    <servlet-name>RestletServlet</servlet-name>    <url-pattern>/service/*</url-pattern></servlet-mapping> 

2.6 控制器

使用Spring MVC做了一个简单的封装,也可以使用其他的MVC实现。

?

2526272829303132333435363738394155156157158159160161162163 package me.kafeitu.demo.activiti.web.workflow; import java.io.ByteArrayInputStream;import java.util.List; import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; import org.activiti.bpmn.converter.BpmnXMLConverter;import org.activiti.bpmn.model.BpmnModel;import org.activiti.editor.constants.ModelDataJsonConstants;import org.activiti.editor.language.json.converter.BpmnJsonConverter;import org.activiti.engine.RepositoryService;import org.activiti.engine.repository.Deployment;import org.activiti.engine.repository.Model;import org.apache.commons.io.IOUtils;import org.apache.commons.lang3.StringUtils;import org.codehaus.jackson.JsonNode;import org.codehaus.jackson.map.ObjectMapper;import org.codehaus.jackson.node.ObjectNode;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.support.RedirectAttributes; /** * 流程模型控制器 * * @author henryyan */@Controller@RequestMapping(value = "/workflow/model")public class ModelController {   protected Logger logger = LoggerFactory.getLogger(getClass());   @Autowired  RepositoryService repositoryService;   /**   * 模型列表   */  @RequestMapping(value = "list")  public ModelAndView modelList() {    ModelAndView mav = new ModelAndView("workflow/model-list");    List<model> list = repositoryService.createModelQuery().list();    mav.addObject("list", list);    return mav;  }   /**   * 创建模型   */  @RequestMapping(value = "create")  public void create(@RequestParam("name") String name, @RequestParam("key") String key, @RequestParam("description") String description,          HttpServletRequest request, HttpServletResponse response) {    try {      ObjectMapper objectMapper = new ObjectMapper();      ObjectNode editorNode = objectMapper.createObjectNode();      editorNode.put("id", "canvas");      editorNode.put("resourceId", "canvas");      ObjectNode stencilSetNode = objectMapper.createObjectNode();      stencilSetNode.put("namespace", "http://b3mn.org/stencilset/bpmn2.0#");      editorNode.put("stencilset", stencilSetNode);      Model modelData = repositoryService.newModel();       ObjectNode modelObjectNode = objectMapper.createObjectNode();      modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, name);      modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, 1);      description = StringUtils.defaultString(description);      modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, description);      modelData.setMetaInfo(modelObjectNode.toString());      modelData.setName(name);      modelData.setKey(StringUtils.defaultString(key));       repositoryService.saveModel(modelData);      repositoryService.addModelEditorSource(modelData.getId(), editorNode.toString().getBytes("utf-8"));       response.sendRedirect(request.getContextPath() + "/service/editor?id=" + modelData.getId());    } catch (Exception e) {      logger.error("创建模型失败:", e);    }  }   /**   * 根据Model部署流程   */  @RequestMapping(value = "deploy/{modelId}")  public String deploy(@PathVariable("modelId") String modelId, RedirectAttributes redirectAttributes) {    try {      Model modelData = repositoryService.getModel(modelId);      ObjectNode modelNode = (ObjectNode) new ObjectMapper().readTree(repositoryService.getModelEditorSource(modelData.getId()));      byte[] bpmnBytes = null;       BpmnModel model = new BpmnJsonConverter().convertToBpmnModel(modelNode);      bpmnBytes = new BpmnXMLConverter().convertToXML(model);       String processName = modelData.getName() + ".bpmn20.xml";      Deployment deployment = repositoryService.createDeployment().name(modelData.getName()).addString(processName, new String(bpmnBytes)).deploy();      redirectAttributes.addFlashAttribute("message", "部署成功,部署ID=" + deployment.getId());    } catch (Exception e) {      logger.error("根据模型部署流程失败:modelId={}", modelId, e);    }    return "redirect:/workflow/model/list";  }   /**   * 导出model的xml文件   */  @RequestMapping(value = "export/{modelId}")  public void export(@PathVariable("modelId") String modelId, HttpServletResponse response) {    try {      Model modelData = repositoryService.getModel(modelId);      BpmnJsonConverter jsonConverter = new BpmnJsonConverter();      JsonNode editorNode = new ObjectMapper().readTree(repositoryService.getModelEditorSource(modelData.getId()));      BpmnModel bpmnModel = jsonConverter.convertToBpmnModel(editorNode);      BpmnXMLConverter xmlConverter = new BpmnXMLConverter();      byte[] bpmnBytes = xmlConverter.convertToXML(bpmnModel);       ByteArrayInputStream in = new ByteArrayInputStream(bpmnBytes);      IOUtils.copy(in, response.getOutputStream());      String filename = bpmnModel.getMainProcess().getId() + ".bpmn20.xml";      response.setHeader("Content-Disposition", "attachment; filename=" + filename);      response.flushBuffer();    } catch (Exception e) {      logger.error("导出model的xml文件失败:modelId={}", modelId, e);    }  } }</pre> ### 2.7 注意事项 如果使用Spring代理引擎,并且在项目中同时有activiti.cfg.xml文件(不管在main/resources还是test/resources目录),在activiti.cfg.xml里面的引擎中添加下面的配置参数,否则会导致打开Modeler的编辑页面时读取数据返回**204**状态码。 <pre class="brush:xml"><property name="processEngineName" value="test"></property></pre> 引擎默认名称为default,ProcessEngines.getDefaultProcessEngine()查询时会先检索main/resources,然后再检索test/resources的activiti.cfg.xml和activiti-context.xml文件,所以当main/resources监测不到指定文件时就会导致该引擎被当做web应用的引擎对象,这样会导致有两个引擎,所以把引擎的名称改为非默认的“default”。 ## 3. 中文乱码问题解决办法 在JVM参数中添加参数: > -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 **参考**:[在Activiti Modeler中设计的流程包含奇数个中文时不能部署问题](http://forums.activiti-cn.org/forum.php?mod=viewthread&tid=50&fromuid=2) ## 4. 效果截图 在最新的kft-activiti-demo版本(1.7.0)中已经集成了Activiti Modeler,可以在线访问,也可以下载源码学习如何配置。 登录[http://demo.kafeitu.me/kft-activiti-demo](http://demo.kafeitu.me/kft-activiti-demo)后选择**流程管理**->**模型工作区**菜单项即可。 ![kft-activiti-demo中的效果截图](/files/2013/03/kft-activiti-demo-model-workspace.png)![kft-activiti-demo中的效果截图](/files/2013/03/kad-modeler.png)</model> 

4、网页设计中常用的工具有哪些?辅助工具有哪些?

2 . HTML 入门例子
HTML入门例子 -- 自己可以尝试编辑
HTML 入门例子示例 -- 可以尝试编辑

* 在网页中输入文字
* 定义一个段落
* 定义多个段落
* 在一个段落中换行
* 为网页加上水平分割线
* 定义文字的颜色
* 定义网页的背景颜色
* 尝试链接到百度和google

好通过上面的演练有点感觉了吧?下面开始详细学习:)

<1>打开记事本:点击"开始"--选择"程序"--选择"附件"--选择"记事本"

<2>输入下面代码(直接拷贝过去就可以啦)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">
<html>
<head>
<title> 欢迎来到梦之都 </title>
</head>
<body>
<p>这是我的第一个网页,在这里
<a href="http://www.dream.com/xhtml/">
尽情学习HTML吧!
</a>吧!
</p>
</body>
</html>

<3>点击"文件"--选择"保存"--选择文件类型为"所有文件"--文件名输入"dream.html"并选择文件保存地址.(记住一定要把文件的后缀存为.html或.htm,否则网页无法显示)

<4>现在我们可以双击这个文件.看看效果吧 .
现在解释一下上面的例子:

* HTML文件就是一个文本文件.文本文件的后缀名是.txt,而HTML的后缀名是.html.
* <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd ">代表文档类型,大致的意思就是:遵循严格的XHTML1的格式书写.具体文档类型后面有介绍(见文档类型),现在只要照写就形.
* HTML文档中,第一个标签是<html>.这个标签告诉浏览器这是HTML文档的开始(见html标签).
* HTML文档的最后一个标签是</html>,这个标签告诉浏览器这是HTML文档的终止.
* 在<head>和</head>标签之间的文本是头信息.在浏览器窗口中,头信息是不被显示在页面上的(见head标签).
* 在<title>和</title>标签之间的文本是文档标题,它被显示在浏览器窗口的标题栏(见title标签).
* 在<body>和</body>标签之间的文本是正文,会被显示在浏览器中(见body标签).
* 在<p>和</p>标签代表段落(见p标签).
* <a>和</a>定义了一个超链接,用户只要点击了"尽情学习",就可以链接到http://www.dream.com网站(见a标签).

引用网址:http://www.dream.com/xhtml/novice/
几个问题:
我只能使用记事本做编辑器吗?

答:有很多编辑器可以使用,一些所见即所得的编辑器,比如Dreamweaver,Frontpage你可以很容易创建一个页面,而不需要编写代码,但有可能产生一些垃圾代码.

如果你想成为一名熟练的网络程序开发者,我强烈建议你用纯文本编辑器编写代码,这有助于学习HTML基础.当然也可以使用比较强大的文本编辑器,比如:EditPlus UltraEdit.

猴子推荐: 编辑网页时可以同时使用Dreamweaver与EditPlus,Dreamweaver的强大功能可以快速的产生大量代码,再通过EditPlus修正完善代码.
我编写完了HTML文件,但是双击后并不能在浏览器中看到结果,为什么?

答:请确认你保存了文件,并且使用了正确的文件名和扩展名,例如:dream.html,并且确认你用浏览器打开的是同样的文件.
我编辑了HTML文件,但是修改结果并没有在浏览器中显示,为什么?

答:浏览器缓存了你原先的页面,所以它不会读取新的页面.你修改了这个页面,浏览器并不知道.请使用"刷新/重载"按钮来强迫浏览器读取编辑过的页面,或按F5反复刷新.
怎么显示文件扩展名?

答:打开"我的电脑"--选择"工具"--选择"文件夹选项"--选择"查看"--去掉"隐藏已知文件类型的扩展名"的对勾.

显示文件扩展名

猴子推荐: FireFox浏览器在编辑网页时是不可或缺的,我们应该同时使用IE与FireFox查看网页效果.
延伸阅读

* CSS 入门例子

5、activiti 怎么调取js

使用activiti,怎么整合到spring应该没问题,在整合网页设计器时主要是配置web.xml文件:
<!-- Restlet adapter, used to expose modeler functionality through REST --> <servlet> <servlet-name>ExplorerRestletServlet</servlet-name>

activiti的网页设计器是使用rest技术,所以web.xml文件里面需要配置一下rest。

6、怎么整合activiti 的modeler 设计器

spring-context-3.1.0.RELEASE.jar spring-aop-3.1.0.RELEASE.jar aopalliance-1.0.jar spring-beans-3.1.0.RELEASE.jar pring-core-3.1.0.RELEASE.jar spring-expression-3.1.0.RELEASE.jar spring-asm-3.1.0.RELEASE.jar spring-webmvc-3.1.0.。

7、怎么用activiti流程设计器

key是每个部署图的唯一标示,可以在发布之前修改,发布之后你看看ge-byt这个表里修改一下,没改过,不知道有没有关联,估计不能改

8、请列举出你在网页设计中使用的工具软件,并简要说明其在网页设计流程中的主要功能及作用

Dreamweaver 是一个“所见即所得”的可视化网站开发工具,主要用于动态网页的开发;Flash主要用来制作动画,Fireworks主要是用于对网页上常用的jpg、gif的制作和处理,也可用于制作网页布局,不过一般我们还是喜欢Photoshop 代替Fireworks

9、网页设计中有哪些好用的工具

DW flash 做网页必备

10、HTML设计器 编写一个“HTML设计器”使用者通过这个工具能够简单的设计出一个网页

超级DIY设计器 V7 具有以下功能:快速设计DIY配置、用向导设计DIY配置、打印DIY配置,并将DIY配置输出为文本文件、HTML文件、论坛、剪贴板、或直接发布到Blog等众多与DIY有关的功能,是电脑DIYer、要购买电脑的朋友和电脑经销商最好的工具。注册用户可以享受到打印配置、输出配置、向导设计等实用功能。

http://www.skycn.com/soft/11784.html

与activiti网页设计器相关的知识