问题列表 - 第36077页

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

除了一个servlet之外,还要将所有内容映射到Struts2?

我有一个Struts2(2.1.8.1)Web应用程序.我的web.xml看起来像,

  <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>

  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
Run Code Online (Sandbox Code Playgroud)

这配置为将所有请求映射到struts过滤器.我想在我的Web应用程序中添加一个servlet.我想将具有特定url模式的所有请求发送到该servlet.我希望其他所有东西都能进入我的struts servlet.

我知道我只能将"*.action"映射到struts servlet,但我讨厌.action就在我所有URL的末尾.

java struts2 servlet-filters

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

iPad工具栏图标:条形按钮图像不居中?

从我正在处理的iPad应用程序中查看以下屏幕截图片段:

ipad工具栏按钮图像

左侧的"聊天气泡"图标来自着名的Glyphish图标集.请注意它是如何具有正确的垂直定位(在中间),但比用于InfoDark按钮的灰度更暗.制作此图标的代码如下:

UIImage* image = [UIImage imageNamed:@"02-chat.png"];
CGRect frame = CGRectMake(0, 0, image.size.width, image.size.height);
UIButton* button = [[UIButton alloc] initWithFrame:frame];
[button setBackgroundImage:image forState:UIControlStateNormal];
[button addTarget:nil action:NULL forControlEvents:UIControlEventTouchUpInside];
[button setShowsTouchWhenHighlighted:YES];
UIBarButtonItem* chatBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
Run Code Online (Sandbox Code Playgroud)

中间的"聊天气泡"图标使用相同的图像,使用不同的代码创建.注意它是如何具有正确的着色/透明度,但具有不正确的垂直定位(太高):

UIImage* image = [UIImage imageNamed:@"02-chat.png"];
UIBarButtonItem* chatBarButtonItem = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStylePlain target:nil action:NULL];
Run Code Online (Sandbox Code Playgroud)

如何获得UIBarButtonItem具有正确着色/透明度的按钮(因此我不必手动操作),以及正确的垂直定位?

一个或另一个是错误,无论是在我的代码中,还是在Apple的?或两者?或两者都没有(即它是"按设计")?

编辑:回答答案

看起来第一个版本使用图像作为蒙版,而不是常规图像.

它看起来像,但事实并非如此.如果我用带有Photoshop的朋友用手轻拍的图像替换图像并使用a UIButton,则定位和着色是正确的.我只是试图找到那个手动步骤.

请记住,将UIResponder对象(例如UIButton)放在UIBarButtonItem中会产生不可预测的结果,我发现最好避免它.

你有资源吗?(特别是Apple链接?)从未听说过.

重新设计图像是您自己的.这是确保所有工具栏图标的正确尺寸,渐变和位置的最佳和唯一方法.

我不一定反对.但是,这是我想要消除的手动步骤.应该可以在不需要编辑的情况下获得我想要的行为.(特别是因为我使用现有的框架得到了所需行为的两半.只是不同时)

最适合工具栏的是25x25和50x50 @ 2x.有时您可能需要低至23.

这是苹果官方的官方消息吗?也许来自HIG?你能提供消息来源吗?

您可以尝试在其上设置imageInsets以将其向下推.

这也是一个不必要的手动过程.最糟糕的是,需要对每个图像进行手动调整,如果图像以任何方式发生变化,则必须进行双重检查.方式太多了.我想将其设置为图像,让底层框架解决如何使图像居中的问题.

image toolbar button ipad ios

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

搜索列表完全匹配

如何搜索所有元素与我正在寻找的元素完全匹配的列表.例如,我想验证以下列表是否包含'a','b'和'c',以及更多或更少.

lst=['a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)

我这样做了:

if 'a' in lst and 'b' in lst and 'c' in lst:
   #do something
Run Code Online (Sandbox Code Playgroud)

提前谢谢了.

python

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

如何从格式和va_list获取格式化的NSString?

我正在开发一个静态库,将其分发给可能需要调试语句的其他开发人员.所以我有几个级别的日志记录.

为了避免不断出现

if(loggingLevelCurrentlySet >= loggingLevelWantedForThisInstance){ 
     NSLog(@"log this");
}
Run Code Online (Sandbox Code Playgroud)

我创建了一组日志功能包装器.简化版本如下所示:

void myLog(int logLevel, NSString *format, va_list args){
    if((loggingLevelCurrentlySet >= logLevel)){
        NSLogv(format, args);
    }
}

void myLogLevel1(NSString *format, ...){
    va_list args;
    va_start(args, format);

    myLog(1, format, args);
    va_end(args);
}

void myLogLevel2(NSString *format, ...){
    va_list args;
    va_start(args, format);

    myLog(2, format, args);
    va_end(args);
}
Run Code Online (Sandbox Code Playgroud)

等等

但是现在,我希望从myLog中访问完全格式化的字符串以执行其他操作.

void myLog(int logLevel, NSString *format, va_list args){
        NSString *fullString = [NSString stringWithFormat:format, args]; //crashes when args is anything but an empty list
        CFStringRef cfsr = CFStringCreateWithFormat(kCFAllocatorDefault, NULL, format, args); …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c variadic-functions nsstring

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

Excel/VBA:如何使用正确的字符串格式粘贴SQL查询

我已经写在记事本中一些相当长的SQL查询,然后将其粘贴到我的VBA代码,是再正确格式化多行字符串在每个时间线.例如...

在我的文本编辑器中,查询看起来像这样.

SELECT 
      a,
      b,
      c,
      ...,
      n
FROM
      table1,
      table2,
      ...,
      tableN
WHERE
      etc
Run Code Online (Sandbox Code Playgroud)

然后粘贴到这个VBA编辑器和手动添加sqlStr = sqlStr&"...."到每一行.

sqlStr = "               SELECT "
sqlStr = sqlStr & "          a,"
sqlStr = sqlStr & "          b,"
sqlStr = sqlStr & "          c,"
sqlStr = sqlStr & "          ...,"
sqlStr = sqlStr & "          n"
sqlStr = sqlStr & "      FROM"
sqlStr = sqlStr & "          table1,"
sqlStr = sqlStr & "          table2,"
sqlStr = sqlStr & "          ...,"
sqlStr …
Run Code Online (Sandbox Code Playgroud)

sql string excel vba excel-vba

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

如何为WPF DataGrid获取单元级别的ComboBox?

它看起来WFP DataGridComboBoxColumn正在为此列中的所有单元格使用单个ItemsSource.我有一个案例,其中ComboBox项依赖于同一行中的另一个单元格.我设法在PreparingCellForEdit事件中填充ItemsSource.但是,它不能按预期工作.最初,此列中的所有单元格都是空的.一旦我为这个列的ComboBox填充ItemsSource,所有相关的单元格(具有相同的项目源)都显示值.但是,如果我单击其他类型的单元格(填充了不同的项目源),则所有值都将消失,新类型单元格将显示值.您只能为列使用一组Items Source?我不敢相信这是真的.我错过了什么吗?任何解决方法?

wpf datagrid combobox itemssource

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

获取属于任何类型的单元名称(TRttiType)

我需要得到任何单位(命名空间)的名称TRttiType.

到目前为止,我已尝试过以下内容.

1)使用PTypeData.UnitName,这个解决方案有效,但只有当TTypeKind是tkClass时.

procedure ListAllUnits;
var
  ctx  : TRttiContext;
  lType: TRttiType;
  Units: TStrings;
begin
  Units:=TStringList.Create;
  try
    ctx := TRttiContext.Create;
    for lType in ctx.GetTypes do
     if lType.IsInstance then //only works for classes
      if Units.IndexOf(UTF8ToString(GetTypeData(lType.Handle).UnitName))<0 then
      Units.Add(UTF8ToString(GetTypeData(lType.Handle).UnitName));
  Writeln(Units.Text);
  finally
    Units.Free;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

2)解析QualifiedName属性,这个解决方案到目前为止工作正常,但我对此并不满意.

procedure ListAllUnits2;

  function GetUnitName(lType: TRttiType): string;
  begin
    Result := StringReplace(lType.QualifiedName, '.' + lType.Name, '',[rfReplaceAll])
  end;

var
  ctx: TRttiContext;
  lType: TRttiType;
  Units: TStrings;
begin
  Units := TStringList.Create;
  try
    ctx := TRttiContext.Create;
    for lType in …
Run Code Online (Sandbox Code Playgroud)

delphi rtti delphi-xe

6
推荐指数
2
解决办法
1841
查看次数

32位还是64位?使用C代码

有没有办法通过在C中写入一些代码来确定机器是32位还是64位?

c

4
推荐指数
2
解决办法
3734
查看次数

javascript,判断val是否为单个数字的最佳方式

什么是判断javascript中的值是否为单个数字的最佳方式.我一直在做类似的事情

var valAsString = '' + val;
if (valAsString.match(/\d/) {}
Run Code Online (Sandbox Code Playgroud)

澄清:我的意思是0,1,2,3,4,5,6,7,8,9之一

还有,我应该做什么工作?我很惊讶人们为此想出了多少不同的方式.

javascript regex digits

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