我有以下问题:
我上课了:
class Word(object):
def __init__(self):
self.id = None
self.columns = {}
def __str__(self):
return "(%s, %s)" % (str(self.id), str(self.columns))
Run Code Online (Sandbox Code Playgroud)
self.columns是一个dict,它将保存(columnName:columnValue)值.列的名称在运行时是已知的,例如,它们被加载到wordColumns列表中
wordColumns = ['english', 'korean', 'romanian']
Run Code Online (Sandbox Code Playgroud)
wordTable = Table('word', metadata,
Column('id', Integer, primary_key = True)
)
for columnName in wordColumns:
wordTable.append_column(Column(columnName, String(255), nullable = False))
Run Code Online (Sandbox Code Playgroud)
我甚至创建了一个显式映射器属性来"强制"表格列映射到word.columns [columnName],而不是word.columnName,我没有得到任何映射错误,但它似乎不起作用.
mapperProperties = {}
for column in wordColumns:
mapperProperties['columns[\'%']' % column] = wordTable.columns[column]
mapper(Word, wordTable, mapperProperties)
Run Code Online (Sandbox Code Playgroud)
当我加载一个单词对象时,SQLAlchemy创建一个具有word.columns ['english'],word.columns ['korean']等属性的对象,而不是将它们加载到word.columns dict中.因此,对于每个列,它会创建一个新属性.而且word.columns字典甚至不存在.
同样,当我尝试坚持一个单词时,SQLAlchemy希望在名为word.columns ['english'](字符串类型)的属性中找到列值,而不是字典word.columns.
我不得不说我对Python和SQLAlchemy的经验非常有限,也许我不可能做我想做的事情.
任何帮助,赞赏,
提前致谢.
我已经创建了一个扩展GWTTestCase的测试,但是我收到了这个错误:
mvn integration-test gwt:test
...
Running com.myproject.test.ui.GwtTestMyFirstTestCase
Translatable source found in...
[WARN] No source path entries; expect subsequent failures
[ERROR] Unable to find type 'java.lang.Object'
[ERROR] Hint: Check that your module inherits 'com.google.gwt.core.Core' either directly or indirectly (most often by inheriting module 'com.google.gwt.user.User')
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.1 sec <<< FAILURE!
Run Code Online (Sandbox Code Playgroud)
GwtTestMyFirstTestCase.java位于/ src/test/java中,而GWT模块位于src/main/java中.我认为这应该不是问题.
我已根据http://mojo.codehaus.org/gwt-maven-plugin/user-guide/testing.html完成了所有要求,当然我的gwt模块已经间接地有com.google.gwt.core.Core进口.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.myproject</groupId>
<artifactId>main</artifactId>
<packaging>jar</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>Main Module</name>
<properties>
<gwt.module>com.myproject.MainModule</gwt.module>
</properties>
<parent>
<groupId>com.myproject</groupId> …Run Code Online (Sandbox Code Playgroud) 我有以下控制器
@Controller
@RequestMapping("/project/view.html")
public class ProjectViewController {
private static final String viewName = "projectView";
@RequestMapping(method = RequestMethod.GET)
public String showPage(Model model,
@RequestParam(value="id",required=false) Long id) {
//code.....
return viewName;
}
}
Run Code Online (Sandbox Code Playgroud)
我的views.properties包含
projectView.(class)=org.springframework.web.servlet.view.JstlView
projectView.url=/WEB-INF/jsp/project/view.jsp
Run Code Online (Sandbox Code Playgroud)
一切都按预期工作.
但我需要更改方法以返回View(),因为如果出现故障,我必须将RedirectView()返回到某个错误页面.所以我把方法改为:
@Controller
@RequestMapping("/project/view.html")
public class ProjectViewController {
private static final String viewName = "projectView";
@RequestMapping(method = RequestMethod.GET)
public View showPage(Model model,
@RequestParam(value="id",required=false) Long id) {
//code.....
return new JstlView(viewName);
}
}
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,我得到一个NPE:
java.lang.NullPointerException
at org.springframework.web.context.support.WebApplicationObjectSupport.getServletContext(WebApplicationObjectSupport.java:121)
at org.springframework.web.servlet.view.JstlView.exposeHelpers(JstlView.java:133)
at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:209)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:257)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1183)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:902)
at …Run Code Online (Sandbox Code Playgroud) 我有以下问题.我需要在控制器中导出PDF
下面的代码,我返回一个视图,按预期工作.
@RequestMapping(method = RequestMethod.GET)
public View exportReport(
@RequestParam(value = "userName", required = true) String userName,
@RequestParam(value = "startDate", required = true) Date startDate,
@RequestParam(value = "endDate", required = true) Date endDate) {
///////////////////////////////////////////
return new TimeSheetReportPdfView();
}
Run Code Online (Sandbox Code Playgroud)
如果我更改方法以返回ModelAndView会发生此问题:
@RequestMapping(method = RequestMethod.GET)
public ModelAndView exportReport(
@RequestParam(value = "userName", required = true) String userName,
@RequestParam(value = "startDate", required = true) Date startDate,
@RequestParam(value = "endDate", required = true) Date endDate) {
///////////////////////////////////////////
return new ModelAndView(new TimeSheetReportPdfView(), model);
}
Run Code Online (Sandbox Code Playgroud)
现在,PDF没有导出,我得到的只是一个空白页面而且日志中没有任何内容.
更新:
public …Run Code Online (Sandbox Code Playgroud) 我有以下问题.我的主要活动包括一个ListView,其中填充了从Web服务获得的数据.首次加载主活动时,如果无法从Web检索数据,我想显示一个带有2个按钮的对话框,"重试"和"取消".如果用户单击"回复",则调用重新加载数据方法,如果有任何异常,则该对话框应再次出现.
我还没有找到一种方法来实现我想要的行为.
@Override
protected void onResume() {
super.onResume();
Log.i("ItemListActivity", "onResume()");
if(isNewInstance) {
reloadItems();
isNewInstance = false;
}
}
private void reloadItems() {
try {
itemService.reloadItems();
items = itemService.getItemList();
listAdapter.notifyDataSetChanged();
} catch (Exception e) {
showDialog(RETRY_DIALOG);
}
}
protected Dialog onCreateDialog(int id) {
switch(id) {
case RETRY_DIALOG:
return new AlertDialog.Builder(this).setTitle(R.string.retryDialog_title)
.setPositiveButton(R.string.retryDialog_retry, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
reloadItems();
}
})
.setNegativeButton(R.string.retryDialog_quit, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
})
.create(); …Run Code Online (Sandbox Code Playgroud) java ×3
spring ×2
android ×1
frameworks ×1
gwt ×1
maven-2 ×1
python ×1
spring-mvc ×1
sqlalchemy ×1
unit-testing ×1