小编Par*_*ris的帖子

我怎样才能通过JSP中的Set?(休眠协会)

所以我对JSP很陌生.我试过这几种方法.在PHP或者自动化框架中有意义的方法......实际上我可能想得太多了......

我有一个休眠的一对多关联.那就是类x有很多类y.在类x的view.jsp中.我想抓住所有类y,其中y的外键与x的主键匹配并显示它们.似乎hibernate正确地将这些东西放入一个集合中.现在,问题是如何迭代这个集合然后输出它的内容......

我有点难过.我试着写一个scriptlet,

<%
java.util.Iterator iter = aBean.getYs().iter(); // aBeans is the bean name
// getYs would return the set and iter would return an iterator for the set
while(iter.hasNext) { 
   model.X a = new iter.next() 
%>
   <h1><%=a.getTitle()%></h1>
<%
}
%>
Run Code Online (Sandbox Code Playgroud)

这似乎应该有用吗?Hmmmmmm

java model-view-controller jsp javabeans

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

如何清理包含有效UTF8字符的XML属性的表单字段?

我一直在努力解决这个问题.我有一个多语言的Web应用程序,在某些时候输出XML.这个XML可以包含任何语言,因此我的清理方法是禁止某些破坏XML的字符被插入.我尽可能多地在CDATA中包装,但我在属性中有很多内容.我不想禁用特殊字符,因为括号,句号,短划线,刻度和撇号等完全有效的字符始终使用并且它们起作用.

去除所有会破坏XML属性的字符的最佳方法是什么,但保留语言完整?

更新:
我发现:http://en.wikipedia.org/wiki/CDATA#CDATA-type_attribute_value,它向我表明我可以使用DTD将属性描述为CDATA部分; 然而,这似乎并非如此.

<?xml version="1.0" ?> 
<!DOCTYPE foo [
  <!ELEMENT foo EMPTY>
  <!ATTLIST foo a CDATA #REQUIRED>
]>
<foo a="&bull;"><![CDATA[ &bull; ]]> </foo>
Run Code Online (Sandbox Code Playgroud)

任何验证者都会抱怨公牛不是该属性中的实体.如果删除该属性,它将有效.另外我听说模式是要走的路,所以如果像上面这样的东西是可能的,而是使用XML Schema,那就太棒了.

谢谢!

php xml sanitization

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

JavaScript中仍然不建议使用"new"吗?

所以我看到很多JavaScript代码在制作构造函数时使用"new".阅读部分JavaScript的好零件之后,似乎使用"新"不是猫的睡衣.那是4年前的事了......是不是仍然不推荐?现行标准是什么?

javascript new-operator

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

如果某个组件"未安装",它将再次被使用吗?

如果组件已卸载,那么该对象是否会再次被重用?

用例:假设组件有时是在if语句中从更高级别显示的.

如果该组件由于状态更改而消失,那么componentWillUnmount调用当然会触发.当它稍后由于状态改变而重新出现时,是否会重复使用相同的组件或从头开始创建它?我猜不会有新组件的保证,这就是WillMount和WillUnmount都存在的原因.

reactjs

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

os.walk()python:目录结构的xml表示,递归

所以我试图使用os.walk()来生成目录结构的XML表示.我似乎得到了大量的重复.它正确地将目录放在彼此之间,并将文件放在xml文件的第一部分的正确位置; 但是,在它正确完成后,它会继续错误地遍历.我不太清楚为什么......

这是我的代码:

def dirToXML(self,directory):
        curdir = os.getcwd()
        os.chdir(directory)
        xmlOutput=""

        tree = os.walk(directory)
        for root, dirs, files in tree:
            pathName = string.split(directory, os.sep)
            xmlOutput+="<dir><name><![CDATA["+pathName.pop()+"]]></name>"
            if len(files)>0:
                xmlOutput+=self.fileToXML(files)
            for subdir in dirs:
                xmlOutput+=self.dirToXML(os.path.join(root,subdir))
            xmlOutput+="</dir>"

        os.chdir(curdir)
        return xmlOutput  
Run Code Online (Sandbox Code Playgroud)

fileToXML只是解析列表,所以不必担心.

目录结构很简单:

images/
images/testing.xml
images/structure.xml
images/Hellos
images/Goodbyes
images/Goodbyes/foo
images/Goodbyes/bar
images/Goodbyes/square
Run Code Online (Sandbox Code Playgroud)

并生成的xml文件变为:

<structure>
<dir>
<name>images</name>
  <files>
    <file>
      <name>structure.xml</name>
    </file>
    <file>
      <name>testing.xml</name>
    </file>
  </files>
  <dir>
    <name>Hellos</name>
  </dir>
  <dir>
    <name>Goodbyes</name>
    <dir>
      <name>foo</name>
    </dir>
    <dir>
      <name>bar</name>
    </dir>
    <dir>
      <name>square</name>
    </dir>
  </dir>
  <dir>
    <name>foo</name>
  </dir>
  <dir>
    <name>bar</name>
  </dir>
  <dir> …
Run Code Online (Sandbox Code Playgroud)

python xml recursion directory-structure os.walk

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

使用Regex的CakePHP用户名URL?

我在这里发表评论:http://bakery.cakephp.org/articles/PHPdiddy/2006/10/06/custom-urls-from-the-site-root

那说:

只需改变最后一行.
Router :: connect('/ ',array('controller'=>'members','action'=>'show'));
to
Router :: connect('(?!admin | items | images)(.
*)',array('controller'=>'members','action'=>'show'));

有些人能够让它工作......但是我看起来并不合适,所以我尝试了以下方法,但仍然没有运气:

Router::connect('(?!/admin|/items|/images)(/.*)',
array('controller' => 'members','action' => 'show'));
Run Code Online (Sandbox Code Playgroud)

无论如何,目标是拥有一个像http:// domainname/username这样的URL ,映射到用户唯一的id.它适用于/*,但我宁愿不使用该方法.想法?

更新到解决方案: 我使用下面的选定答案并添加以下内容.它可能对其他人有帮助.

$misc = array(*your misc webroot, admin route items here...*);
$notList = array_merge(Configure::listObjects('plugin'),Configure::listObjects('controller'));
$notListLowerCase = array();
foreach ($notList as $key=>$item):
    $notListLowerCase[] = strtolower(preg_replace("/(.)([A-Z])/","\\1_\\2",$item));
endforeach;
$notList = array_merge($notList,$misc,$notListLowerCase);
$notList = implode('|', $notList);

Router::connect('/:username', 
        array(
            'controller'=>'users', 
            'action'=>'view'
        ),   
        array(
            'username' => '\b(?:(?!'.$notList.')\w)+\b'
        )
    );
Run Code Online (Sandbox Code Playgroud)

regex routes cakephp friendly-url

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

jQuery Mobile,设置滑块的值

滑块当前呈现正常,它只是没有做我告诉它.

我不能用$('#slider').val(50).slider('refresh'),当我这样做时告诉我:

在初始化之前,Uncaught无法在滑块上调用方法; 试图调用方法'刷新'

这似乎是有意义的,因为我从未将其初始化为滑块.这是我的代码:早些时候我创建了一个div "<div id='scrubber'></div>"并将其写入屏幕 $(cssSelector.html(html);然后,一旦代码的其他部分准备就绪,我创建滑块:

$('#scrubber').html('<input type="range" name="prog" id="prog" value="0" min="0" max="'+event.jPlayer.status.duration+'"  />').trigger("create");
Run Code Online (Sandbox Code Playgroud)

然后呢:

$('#scrubber').val(event.jPlayer.status.currentTime).slider('refresh');
Run Code Online (Sandbox Code Playgroud)

这给了我那个错误.

我尝试过使用$('#scrubber').slider();但似乎创建了第二个滑块.所以我试着更换第一个滑块,但它只会让事情变得更糟.在任何情况下,如果我然后尝试更改值,我不再得到错误,但它仍然不会改变滑块的位置.

有任何想法吗?

jquery uislider jquery-mobile

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

使用jQuery Deferred查找第一个可用的数据源

所以我在接受采访时被问到这个问题,但它提出了一个很好的用例.假设您有一堆数据源.你想找到第一个可用的并处理它而忽略其余的.

所以类似于:

var datasources = new Array("somedatabase1/pizza","somedatabase2/beer","somedatabase3/llama");
var dfds = new Array();
$.each(datasources,function(source){
    dfds.push($.getJSON(source));
});

$.when(dfds).done(function(){alert("they are all done");});
Run Code Online (Sandbox Code Playgroud)

忽略我真的不认为什么时候接受一个数组(也许它).这当然会让它等到它们全部完成.我正在寻找一些代码,让它等到一个,其中任何一个完成,然后不用担心其他的.

我被告知它只能递归地工作.

javascript jquery jquery-deferred

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

使用babel,如何将一些代码附加到每个文件的顶部?

我的目标是假装通过babel获得一些requirejs代码。我发现,如果我if (typeof define !== "function") { var define = require("amdefine")(module); }在nodejs中运行时在每个文件的顶部添加以下内容,则似乎可以解决问题。

这是我写的一些代码,我认为它们会起作用或几乎起作用:

function injectDefine(babel) {
    var header = 'if (typeof define !== "function") { var define = require("amdefine")(module); }';

    return new babel.Plugin('amdefine', {
        visitor: {
            Program: {
                enter: function(path, file) {
                    path.unshiftContainer(
                        'body',
                        babel.types.expressionStatement(
                            babel.types.stringLiteral(header)
                        )
                    );
                },
            },
        },
    });
}

require('babel-core/register')({
    stage: 0,
    plugins: [{transformer: injectDefine}],
});

require('../components/button');
Run Code Online (Sandbox Code Playgroud)

components/button文件只是我尝试测试是否可以加载某些文件。

其他说明:我正在使用babel 5,现在无法升级。我现在也不能.babelrc很轻松地使用它。

javascript transpiler babeljs

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

Wordpress:wpdb->插入VERSUS wpdb-> prepare(wpdb-> query("INSERT

我想知道wordpress'insert函数是否也为数据添加了斜杠.如果不是,那么看起来准备查询方法会更好地防止SQL注入.我尝试在codex/api中查找问题; 然而,它似乎没有记录.谢谢!

php database wordpress sql-injection

4
推荐指数
1
解决办法
8180
查看次数