小编idu*_*osn的帖子

如何从哈希映射返回键列表?

我目前正在尝试制作一个将动词与西班牙语结合的程序.我创建了一个哈希表,其中包含一个键和一个对象动词的实例.键是一个具有动词不定式形式的字符串(例如,"hablar").这是我到目前为止的哈希映射代码:

public class VerbHashMap {

    HashMap<String, Verb> verbHashMap;

    public VerbHashMap(){
        verbHashMap = new HashMap();
    }   
}
Run Code Online (Sandbox Code Playgroud)

HashMap中的每个动词的键都基于动词的不定式形式.例如,字符串"hablar"是西班牙语动词的关键.类Verb有一个名为getInfinitive()的方法,它返回一个包含动词的不定式形式的字符串.

public boolean addVerb(Verb verb){
    if(verbHashMap.containsValue(verb.getInfinitive()){
        return false;
    }
    else{
        verbHashMap.put(verb.getInfinitive(), verb);
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是创建一个按字母顺序返回哈希映射中所有动词列表的方法的最有效方法是什么?我应该让方法返回一个ArrayList,其中包含哈希映射中所有对象的键吗?或者有更有效的方法来解决这个问题吗?

java hashmap

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

如何在python Flask框架中发送zip文件?

我有一个烧瓶服务器,它从数据库中抓取几个不同文件的二进制数据,并将它们放入python'zipfile'对象中.我想使用flask的"send_file"方法将生成的zip文件与我的代码一起发送.

我最初能够通过使用BytesIO(bin)作为send_file的第一个参数成功发送非zip文件,但由于某种原因,我不能对生成的zip文件做同样的事情.它给出了错误:

'ZipFile'没有缓冲接口.

如何使用Flask将此zip文件对象发送给用户?

这是我的代码:

@app.route("/getcaps",methods=['GET','POST'])
def downloadFiles():
    if request.method == 'POST':
        mongo = MongoDAO('localhost',27017)
        identifier = request.form['CapsuleName']
        password = request.form['CapsulePassword']
        result = mongo.getCapsuleByIdentifier(identifier,password)
        zf = zipfile.ZipFile('capsule.zip','w')
        files = result['files']
        for individualFile in files:
            data = zipfile.ZipInfo(individualFile['fileName'])
            data.date_time = time.localtime(time.time())[:6]
            data.compress_type = zipfile.ZIP_DEFLATED
            zf.writestr(data,individualFile['fileData'])
        return send_file(BytesIO(zf), attachment_filename='capsule.zip', as_attachment=True)
    return render_template('download.html')
Run Code Online (Sandbox Code Playgroud)

python http zipfile flask

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

Flask - 函数映射正在覆盖现有的端点函数

我试图让烧瓶框架与Facebook合作.我正在使用flask_canvas这样做.我在文档中找到了flask_canvas的示例(在这里找到:http://flask-canvas.readthedocs.org/en/latest/ )但是我一直收到以下错误:

AssertionError: View function mapping is overwriting an existing endpoint function: inner
Run Code Online (Sandbox Code Playgroud)

如果我注释掉该方法user(),它将运行,但是当该方法未被注释掉时,我得到上述错误.

知道如何制作它所以我可以同时使用canvas()user()方法而不会被AssertionError抛出?

import flask_canvas
from flask import Flask, session, redirect
app = Flask(__name__)
flask_canvas.install(app)

HOST = 'localhost'
PORT = 8000

@app.route('/')
def hello_world():
    return 'Hello World!'

# route your canvas-specific page
@app.canvas_route('/app/', methods=['GET','POST'])
def canvas():
    return 'hello, world'

 #route page requiring user data
@app.canvas_route('/user/', methods=['GET','POST'])
def user(canvas_user):
    return canvas_user.request('/me')

if __name__ == '__main__':
    app.run(host = HOST, port …
Run Code Online (Sandbox Code Playgroud)

python facebook flask

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

为什么这个javascript会抛出这个特殊错误?

在我的HTML代码中,我有一个按钮,按下时会运行一个javascript函数.这是按钮的HTML代码:

<button type="button" onclick="repeatName()">Click me!</button>
Run Code Online (Sandbox Code Playgroud)

我希望用户在文本字段中输入内容(在表单内部).这是文本字段的代码:

<input type="text" name="txtName" />
Run Code Online (Sandbox Code Playgroud)

我希望在按下按钮后根据名称文本框中输入的信息更改div的innerHTML.这是div的代码:

<div name="editThis" width="50px" height="50px" border="1px">

</div>
Run Code Online (Sandbox Code Playgroud)

单击该按钮时,我希望它运行下面的功能.它应该改变div的innerHTML.

function repeatName() {
    var editField = document.getElementsByName("editThis").innerHTML;
    var repeatedName = document.theForm.txtName.value;

    editField = (repeatedName + " is the value.")

}
Run Code Online (Sandbox Code Playgroud)

问题是,无论何时单击按钮,我都会在Firefox错误控制台中看到此错误:

Error: uncaught exception: [Exception... "Cannot modify properties of a WrappedNative"  nsresult: "0x80570034 (NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN)"  location: "JS frame :: chrome://global/content/bindings/autocomplete.xml :: onxblpopuphiding :: line 825"  data: no]
Run Code Online (Sandbox Code Playgroud)

这个错误是什么?我该如何纠正?

html javascript

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

如何更改cq:inplaceEditing的持久性属性

我希望使用cq:inplaceEditing来修改我的JCR上的属性,只要AEM作者使用它.不幸的是,我不知道如何修改它在JCR中实际修改的属性名称.它似乎默认只修改属性"text"的值.

出于我的目的,我想对我定义名称的属性使用富文本编辑,而不仅仅是默认名称"text".

此链接中的图像显示包含cq:inplaceEditing的树(由CRXDE提供):

在此输入图像描述

这些是cq:editConfig的属性:

在此输入图像描述

这些是cq:inplaceEditing的属性:

在此输入图像描述

...当我使用inplaceEditor时,这就是我的JCR的内容节点.出于潜在的安全原因,我已经将某些属性的名称涂抹了.请注意,当我使用inplaceEditor时,下面的"text"属性已更改.另请注意,我希望能够定义inplaceEditor更改的属性名称,而不仅仅是"text"属性:

在此输入图像描述

有没有办法使用不同的属性名称而不是"文本"?

- - - - - -编辑 - - - - -

将属性"textPropertyName"更改为我正在搜索的属性后,它似乎仍然不会实际修改inplaceEditor的行为.它仍然只修改我的JCR节点的"text"属性,而不是我在"textPropertyName"属性中放置的属性.

这张图片包含我的cq:InplaceEditingConfig的属性:

在此输入图像描述

下图包含上图中"configPath"变量中指定的路径上JCR节点的属性.请注意,我在此节点中设置了textPropertyName属性,文本组件仍然会修改默认属性"text"而不是指定的属性:

在此输入图像描述

最后,下图显示了文本组件内部的JCR树的内容.

在此输入图像描述

-----------另一个编辑----------

我发现在切换到经典UI后,内联文本编辑器保持了正确的属性.出于某种原因,它无法与触摸UI一起正常工作.

dialog inplace-editing aem

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

每次调用ActionListener时,如何明显更改JScrollPane的内容?

每次调用Action Listener时,我都希望这个JScrollPane将其列表更改为完全不同的列表.我不完全确定如何做到这一点.我已经尝试更改JList,重新绘制ScrollPane并重新验证它,但它没有带来预期的效果.我写了一个可编辑的迷你程序,在这里解释了我的问题:

import javax.swing.*;
import javax.swing.border.TitledBorder;
import java.awt.*;
import java.awt.event.*;
import java.sql.SQLException;

@SuppressWarnings("serial")
public class TestFrame extends JFrame {
public final Dimension SCROLL_PANE_DIMENSION = new Dimension(200, 100);
private JComboBox<String> comboNames;
private JPanel panel = new JPanel();
private JList<String> availableList;
private JScrollPane theScrollPane;
private boolean string1Used = true;
String[] strings = { "Aaardvark", "Adam", "Alms" };
String[] strings2 = { "Bad", "Bugs", "Bunny" };

public static void main(String[] args){
    try {
        TestFrame frame = new TestFrame();
        frame.setVisible(true);
    } catch (SQLException e) …
Run Code Online (Sandbox Code Playgroud)

java swing jscrollpane actionlistener

3
推荐指数
1
解决办法
2823
查看次数

如何将此面板缩放到面板中间?

我有一个带有代码的JPanel.当我用鼠标滚轮滚动时,我希望面板朝向面板中的内部放大.目前,每当我使用鼠标滚轮放大/缩小时,图像左上角的角落都停留在同一个位置.我很难找到正确的算法.

为了放大图片,代码使用AffineTransform对象,该对象根据双倍值缩放图像,该值根据鼠标滚轮的移动而增大或减小.

还增加了复杂性的是,还可以在面板上单击并拖动图像.如果单击并拖动它,则缩放必须仍然放大PANEL中心的内容,而不是必须放大实际图像的中心.

再一次,应该相对于当前可见区域的中心点进行缩放.也就是说,当发生缩放时,视图中心的点应保持固定.

这是代码(它是可执行的):

package clientgui;

import java.awt.*;

import javax.imageio.ImageIO;
import javax.swing.*;

import java.awt.event.*;
import java.awt.geom.*;
import java.awt.image.BufferedImage;
import java.net.URL;

import javax.swing.border.TitledBorder;

public class MoveImageExample extends JFrame {
    ShowCanvas canvas;

    public MoveImageExample() throws Exception {
        super();
        Container container = getContentPane();
        canvas = new ShowCanvas(
                "http://cdn.smosh.com/sites/default/files/bloguploads/funny-iphone-5-bruce-lee.jpg");
        container.setPreferredSize(new Dimension(canvas.getWidth(), canvas
                .getHeight()));
        System.out.println("width = " + canvas.getWidth() + " height = "
                + canvas.getHeight());
        container.add(canvas);
        pack();
        setVisible(true);
    }

    public static void main(String arg[]) throws Exception {
        new MoveImageExample();
    }
}

@SuppressWarnings("serial")
class …
Run Code Online (Sandbox Code Playgroud)

java swing

3
推荐指数
1
解决办法
3240
查看次数

当帧太小而无法显示所有JList时,如何让滚动条出现在JList上?

每当帧的大小调整为对于List本身而言太小时,我想让JList上出现一个滚动条.到目前为止,这是我的代码.运行它,调整框架大小,并注意JList上没有滚动条的显示方式.

import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;


public class JListScroll extends JPanel{

JScrollPane listScrollPane;

public JListScroll() {
    String[] stringArray = {"Testing","This","Stuff"};
    JList<String> rowList = new JList<String>(stringArray);
    listScrollPane = new JScrollPane();
    listScrollPane.getViewport().setView(rowList);
    this.setSize(new Dimension(75,200));
    this.add(listScrollPane);
    this.doLayout();
}

public static void main(String[] args){
    JFrame frame = new JFrame();
    JListScroll scrollPanel = new JListScroll();
    frame.add(scrollPanel);
    frame.setVisible(true);
    frame.setSize(new Dimension(75,300));
}

}
Run Code Online (Sandbox Code Playgroud)

请注意如何添加JScrollPane,但当窗口变得非常小时,列表中不会显示滚动条.这是我想要解决的问题.

提前致谢!

java swing jscrollpane jlist

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

如何使Flexbox中的包裹项目水平对齐到右侧?

我有两个 div 位于弹性盒内。当水平方向有足够的空间让它们位于同一行时,它们看起来像这样:

同一水平面上的两个 div 当我使用 css 属性时flex-wrap: wrap,两个 div 将出现在不同的行上,同时向左浮动:

在此输入图像描述

我希望绿色的与右侧对齐,但当在 Flexbox 中进行换行时,绿色的与蓝色的一样存在于单独的一行上。它看起来像这样:

在此输入图像描述

我如何使用 Flexbox 做到这一点?

这是代码:

.flexbox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.blue {
  min-height: 50px;
  min-width: 300px;
  background-color: blue;
}

.green {
  min-height: 50px;
  min-width: 300px;
  background-color: green;
}
Run Code Online (Sandbox Code Playgroud)
<div class="flexbox">
  <div class="blue"></div>
  <div class="green"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

html css flexbox responsive-design

3
推荐指数
1
解决办法
1523
查看次数

如何正确处理html表单中的撇号?

我正在创建一个动态网页,允许人们发布他们最喜欢的食谱.每个食谱下面都有一个链接,允许您对食谱进行评论.如果您发表评论,评论将发布在数据库中,除非评论中有任何撇号.这是addcomment.inc.php页面的代码:

<?php


$con = mysql_connect("localhost", "test", "test") or die('Sorry, could not connect to database server');
mysql_select_db("recipe", $con) or die('Sorry, could not connect to database');
$recipeid = $_GET['id'];
$query = "select title from recipes where recipeid = $recipeid";
$result = mysql_query($query) or die('Could not retrieve file: ' . mysql_error());

echo "<form action=\"index.php\" method=\"post\">\n";

if (mysql_num_rows($result) == 0) { 
    $title = "Unknown Title";

} 
else { 
    while($row=mysql_fetch_array($result, MYSQL_ASSOC)) { 
    $title = $row['title']; 
    }
}   

echo "<h2>Enter your comment for the recipe \"$title.\" …
Run Code Online (Sandbox Code Playgroud)

php mysql

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

PHP网页未设置SESSION cookie

我创建了一个名为The Recipe Center的localhost网站.在这个网站上,您可以发布食谱并在食谱上发表评论.要发布配方或注释,您必须登录.这是验证登录名称的php文件的代码,或者更确切地说,设置会话cookie:

<?php

$con = mysql_connect("localhost", "test", "test") or die('Could not connect to server');
mysql_select_db("recipe", $con) or die('Could not connect to database');

$userid = $_POST['userid'];
$password = $_POST['password'];

$query = "SELECT userid from users where userid = '$userid' and password = PASSWORD('$password')";
$result = mysql_query($query);

if (mysql_num_rows($result) == 0)
{
echo "<h2>Sorry, your user account was not validated.</h2><br>\n";
echo "<a href=\"index.php?content=login\">Try again</a><br>\n";
echo "<a href=\"index.php\">Return to Home</a>\n";
} else
{   
$_SESSION['valid_recipe_user'] = $userid;
echo "<h2>Your user account has been …
Run Code Online (Sandbox Code Playgroud)

html php mysql

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

如何使监听器监听TreeMap中的更改?

我正在制作一个结合西班牙语动词的GUI.它利用TreeMap作为主要数据结构,其中充满了类Verb的实例化.每个实例化都包含一个字符串,其中包含动词的不定式形式,如"hablar"或"escribir".GUI中有一个功能,允许用户通过键入其不定式及其英文翻译来输入新的动词.

我想知道如何创建一个侦听器,每次从TreeMap添加或删除新动词时都会运行一些代码.我该怎么做呢?

java listeners treemap

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

如何在这些CSS圈子之间放置空格?

我目前正在尝试在页面上呈现各种圆圈.我目前正在使用以下网页中的修改后的CSS绘制圆圈:

https://css-tricks.com/examples/ShapesOfCSS/

上面链接中的圆圈CSS绘制了圆圈,但我遇到了几个问题:

  1. 我需要将圆圈彼此分开(也许3px?)
  2. 我需要圆圈在同一水平线上
  3. 我似乎无法同时做1和2

我使用以下HTML和CSS:

.circle-blue {
  width: 10px;
  height: 10px;
  background: deepskyblue;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}
.circle-gray {
  width: 10px;
  height: 10px;
  background: gray;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}
.cell {
  display: table-cell;
  font-size: 6px;
}
Run Code Online (Sandbox Code Playgroud)
<div class="circle-blue cell"></div>
<div class="circle-gray cell"></div>
<div class="circle-blue cell"></div>
Run Code Online (Sandbox Code Playgroud)

div的HTML中的圈子实现了circlecell类.

下面的Plunker链接将引导您进入我的示例:

http://plnkr.co/edit/SPHmKyOjF6GbTtjEFPrd?p=preview

注意:圆圈很小,因此您必须查看Plunker预览模式的左上角才能找到它们.

html css

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