小编Jac*_*ble的帖子

Spring + Tiles2 + Freemarker - 通过Freemarker Servlet或Spring的FreeMarkerViewResolver集成?

今天我一直在努力从Freemarker迁移到Tiles2 + Freemarker.

我的freemarker模板使用来自spring.ftl的宏.

如果我在web.xml中提供fremarker servlet,我的模型对于freemarker是可见的,但是特定的spring变量(自然地)不会填充到模型中,因为FreemarkerView对它负责.

如果我为特定的url配置一个单独的DispatcherServlet(比如"/ tpl/*")并将freemarker解析器配置为该servlet的默认视图解析器并提供UrlFilenameViewController作为默认控制器,那么特殊的spring变量会填充到模型中,但是我自己的模型是不可见:它被绑定为请求属性.我可以通过$ {Request.mymodel.myvar}访问我的模型,但这样我必须更改所有的freemarker模板,我发现这个想法有些臭.

现在我的解决方案是扩展UrlFilenameViewController并将我的模型从请求添加到ModelAndView:

protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)  {
        ModelAndView mav = super.handleRequestInternal(request, response);

        HashMap<String, Object> map = new HashMap<String, Object>();

        Enumeration<String> attributes = request.getAttributeNames();

        while(attributes.hasMoreElements()) {
            String attribute = attributes.nextElement();

            if("model".equals(attribute)) {
                logger.debug("FreemarkerViewController.handleRequestInternal: putting attribute to model: " + attribute + "=" + request.getAttribute(attribute));
                map.put(attribute, request.getAttribute(attribute));
            }
        }
        logger.debug("FreemarkerViewController.handleRequestInternal: VIEW: " + mav.getViewName());
        return new ModelAndView(mav.getViewName(), map);
    }
Run Code Online (Sandbox Code Playgroud)

但是这个解决方案有点臭 - 如果我在我的业务控制器中向模型中添加一些东西,我必须在这里添加它.

我的问题有一个优雅的解决方案吗?

java spring freemarker tiles tiles2

7
推荐指数
1
解决办法
3265
查看次数

在cakephp中使用"低"安全性有什么影响?

我在cakephp中遇到了身份验证问题,当从外部站点提供凭据时,身份验证将起作用,然后立即丢失,并且站点再次提示登录信息.

这家伙确定cakephp会话cookie正在改变.他的解决方案是将安全性设置为低.

好像在中等或高安全性中,Cake会对引用进行双重检查...但是当从外部站点(如hotmail或yahoo)单击受版权保护的链接时,安全性较低的工作正常

这个解决方案对我来说也很有用,但是我将cakephp设置为'低'安全性会让我失去什么?

security cakephp

7
推荐指数
1
解决办法
3408
查看次数

如何告诉linkify不要下划线链接?

有没有办法告诉linkify不要强调我的链接?我已经在使用textView.setLinkTextColor(stateList)更改颜色,但我想删除链接上插入的下划线.

这甚至可能吗?

android underline linkify

7
推荐指数
1
解决办法
2046
查看次数

Mac-Automator,如何将shell脚本的输出传递给GUI文本框

我面临的问题是:

我想在上下文菜单中(当我右键单击文件夹时)要执行的操作并将输出显示给用户,在内部,比如说,带有垂直滚动条的文本区域窗口.假设该动作只是一个shell脚本,它在给定目录中执行"find"命令,搜索指定的模式.

到目前为止,我已经设法使用Automator实现了它.我不能做的是以同步方式管道输出("同步"的意思是当"find"命令产生输出打印到用户时,而不是在命令完成后输出) GUI.

我花了一些时间在这上面搜索,我得出的结论是XCode和Interface Builder必须加入到游戏中?我是在正确的轨道上吗?在没有深入研究这个框架的情况下,是否有一种直接而简单的方法可以成功实现这一目标?

非常感谢,
巴比斯

macos shell user-interface automator

7
推荐指数
1
解决办法
3341
查看次数

我们如何使用Annotation创建PDF

任何人都可以告诉我如何创建一个带有文本注释的PDF(以便在桌面上使用PDF阅读器打开PDF时可以看到注释)?

目前我能够创建PDF,但我无法为关键字"Annots"设置页面级别字典.这是我创建有关页面的元信息的示例代码.谁能告诉我哪里出错了以及我应该遵循的任何其他方法.

CFMutableDictionaryRef  metaDataDictionary = CFDictionaryCreateMutable(NULL, 0, &kCFTypeDictionaryKeyCallBacks,&kCFTypeDictionaryValueCallBacks); 


CFDictionarySetValue(metaDataDictionary, CFSTR("Subtype"), CFSTR("Text"));
CFDictionarySetValue(metaDataDictionary, CFSTR("Contents"), CFSTR("This is a sample"));
CFDictionarySetValue(metaDataDictionary, CFSTR("Subj"), CFSTR("Subject"));
CFDictionarySetValue(metaDataDictionary, CFSTR("M"), CFSTR("Date"));
CFDictionarySetValue(metaDataDictionary, CFSTR("NM"), CFSTR("Name of Annotation"));
CFMutableArrayRef array = CFArrayCreateMutable(kCFAllocatorDefault,0, &kCFTypeArrayCallBacks);
CFArrayInsertValueAtIndex(array, 0, metaDataDictionary);
CFDictionarySetValue(pageDictionary,CFSTR("Annots"), array);
Run Code Online (Sandbox Code Playgroud)

提前致谢

pdf-generation objective-c quartz-graphics ipad ios-4.2

6
推荐指数
1
解决办法
1008
查看次数

如何在使用捏拉缩放和拖动手势时将图像保持在屏幕范围内?

我正在构建一个使用捏缩放和拖动的应用程序.问题是,现在我可以将图片拖出它的边界.我想知道如何使用拖动并确保图像同时保留在屏幕上.

这是我的代码:

public boolean onTouch(View v, MotionEvent event) {
      ImageView view = (ImageView)v;
      //handle touch events here.
      switch (event.getAction() & MotionEvent.ACTION_MASK) {
       case MotionEvent.ACTION_DOWN:
          savedMatrix.set(matrix);
          start.set(event.getX(), event.getY());
          Log.d(TAG, "mode=DRAG" );
          mode = DRAG;
          break;
       case MotionEvent.ACTION_POINTER_DOWN:
           oldDist = spacing(event);
           Log.d(TAG, "oldDist=" + oldDist);
           if (oldDist > 10f) {
              savedMatrix.set(matrix);
              midPoint(mid, event);
              mode = ZOOM;
              Log.d(TAG, "mode=ZOOM" );
           }
           break;
       case MotionEvent.ACTION_UP:
       case MotionEvent.ACTION_POINTER_UP:
          mode = NONE;
          Log.d(TAG, "mode=NONE" );
          break;
       case MotionEvent.ACTION_MOVE:
          if (mode == DRAG) {
             matrix.set(savedMatrix);
             matrix.postTranslate(event.getX() - …
Run Code Online (Sandbox Code Playgroud)

android drag-and-drop zoom pinch

6
推荐指数
1
解决办法
7924
查看次数

Visual Studio安装和部署 - 安装文件夹选择

我有一个VS2005安装和部署项目,我遇到了一个我想要帮助的问题.

这是我的问题:

我的应用程序的' DefaultLocation '设置为' [ProgramFilesFolder]\MyApp '.现在我希望用户选择要安装此应用程序的驱动器.我知道这是通过" 安装文件夹选择 "对话框完成的,但我希望用户只能选择一个驱动器,而不是整个路径.

我的问题是如何捕获用户从"安装文件夹选择"对话框中选择的驱动器,并使用该驱动器号来固定我的"DefaultLocation"变量?

示例: 如果用户从安装文件夹选择对话框中选择"M:\",我想安装到" M:\ Program Files\MyApp "或者如果用户选择"E:\",则安装到" E:\" Program Files\MyApp ".

installation visual-studio-2005 setup-deployment visual-studio

5
推荐指数
0
解决办法
1181
查看次数

保存方法中的force_update

我必须在Django模型中更新条目。

我在这样的保存方法中使用过force_update:

register = rform.save(commit=False)
register.user = request.user
register.save(register.user,force_update=True)
Run Code Online (Sandbox Code Playgroud)

但这给了我一个错误:

"ValueError at /status/
Cannot force both insert and updating in model saving."
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

django-models django-forms

5
推荐指数
1
解决办法
1万
查看次数

google maps api ....从地图外部的链接显示标记infowindow

我正在尝试使用google的map api v3构建一个交互式地图.我们的想法是使用asp在地图上填充一些标记列表.

创建地图,原始标记和内容非常简单,但现在我想要一个指向地图外部各种标记的链接列表.单击列表中的项目时,我希望它平移到该位置并打开相应的文本框(infowindow).

一切正常,但我无法打开信息窗口.任何人都可以在这里暗示我做错了吗?

<script type="text/javascript">
  var MapStart = new google.maps.LatLng(32.036020,34.760742);
  var marker;
  var map;
    var infowindow = new google.maps.InfoWindow();      

  function initialize() {
    var mapOptions = {
      zoom: 2,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      center: MapStart
    };

    map = new google.maps.Map(document.getElementById("map"),
            mapOptions);

<%
varCount = 0
while not rsListItem.EOF
  varCount = varCount + 1 
  varLong = rsListItem.Fields.Item("custom_text1").Value
  varLat = rsListItem.Fields.Item("custom_text2").Value
%> 
  var marker<%=varCount%> = new google.maps.Marker({
    position: new google.maps.LatLng(<%=varLong%>,<%=varLat%>),
    map: map,
    animation: google.maps.Animation.DROP,
    title : "<%=rsListItem.Fields.Item("heading").Value%>"
  });

  google.maps.event.addListener(marker<%=varCount%>, 'click', function() {
    map.panTo(new …
Run Code Online (Sandbox Code Playgroud)

google-maps-api-3

5
推荐指数
1
解决办法
5532
查看次数

如何在单个语句中使用子查询更新多个列?

我正在尝试从源表更新临时表:

    UPDATE #DETAIL
        SET EXCD_ID, CDOR_OR_AMT, CDOR_OR_VALUE
        (SELECT 
            CDID_ADDL_DATA_1, CDID_ADDL_DATA, CDID_VALUE_STRING
        FROM
            CMC_CDID_DATA CDID
        WHERE
            CDID.CLCL_ID = DTL.CLCL_ID AND
            CDID.CDML_SEQ_NO = DTL.CDML_SEQ_NO AND
            CDID_TYPE = 'NDC'
    )
    FROM #DETAIL DTL
    WHERE DTL.CDOR_OR_ID = 'XS'
Run Code Online (Sandbox Code Playgroud)

不幸的是,它抱怨

Incorrect syntax near ',' (on the '(SELECT' line)
Incorrect syntax near 'FROM' (the second one)
Run Code Online (Sandbox Code Playgroud)

sql sybase

5
推荐指数
1
解决办法
2万
查看次数